各ベンダーに1つのSQLテーブルが3つあります。すべてのテーブルには、(id)、(spend)、および(date)の3つの同一の列があります。 (id)は製品IDを表します。 (支出)は、彼らが製品にどれだけ費やしたかです。そして、取引の(日付)。SQL - Union AllとJoinを使用した計算
私は、stackoverflowのおかげで、すべてのテーブルを含む各製品(ID)に費やされた合計でソートすることができました。
SELECT id, SUM(spend) as total
FROM (
SELECT id, spend, date
FROM vendor1
WHERE date BETWEEN '$dateStart' AND '$dateEnd'
UNION ALL
SELECT id, spend, date
FROM vendor2
WHERE date BETWEEN '$dateStart' AND '$dateEnd'
UNION ALL
SELECT id, spend, date
FROM vendor3
WHERE date BETWEEN '$dateStart' AND '$dateEnd'
) as SpendTotal
GROUP BY id
ORDER BY total DESC
は、今私は、各製品(ID)から得た収益を示していますSQL式に新しいテーブル(revTbl)を内蔵したいと思います。ここではUNION作品ALL文です。この4番目の表には、上記の3と同じ(id)という列があります。同じ(日付)列もあります。ただし、この表には別の列(rev)があります。
私はSUM(rev)-SUM(費やし)でソートするSQL文を書いてみたいと思います。私はUNION ALLとして運んでみましたが運がなかったので、UNION ALLを読んだ後、なぜそれが理解できますか?私はJOINステートメントを組み込む必要があると推測していますが、どこから始めるべきかはわかりません。私は適切なSQLステートメントを書くのを助けてください。
これは機能しませんでした。 –
エラーが表示されますか?それとも予期しない結果を返しましたか? – Mustafa