我有兩個成功的SQL查詢,我試圖將其合併爲1.一個查詢獲取所有產品的總成本,另一個查詢獲得這些產品的總收入。我想有第三個查詢按利潤分類(收入 - 成本)。SQL Server - 使用SQL JOIN和UNION
查詢1使用UNION ALL從3個類似表中按產品id(id)總和總成本(花費)。
SELECT id, SUM(spend) as spend_total
FROM (
SELECT id, spend
FROM vendor_1
UNION ALL
SELECT id, spend
FROM vendor_2
UNION ALL
SELECT id, spend
FROM vendor_3
) as SpendTotal
GROUP BY id ORDER BY spend_total DESC
查詢2總結了總收入(REV)1臺
SELECT id, SUM(rev) as rev_total
FROM income
GROUP BY id ORDER by rev_total DESC
這裏是連接兩個和(REV - 花)排序是我的失敗嘗試
SELECT income.id, total_rev - total_spend as result
FROM (SELECT id, SUM(rev) as total_rev
FROM income
GROUP BY id) as rev
JOIN (SELECT id, SUM(spend) as total_spend
FROM (
SELECT id, spend
FROM vendor_1
UNION ALL
SELECT id, spend
FROM vendor_2
UNION ALL
SELECT id, spend
FROM vendor_3
) as SpendTotal
GROUP BY id) as vendor_1 ON vendor_1.id = income.id order by result DESC
結果怎麼了?你能請你展示結果和預期結果嗎? – Eli
「失敗的嘗試」是什麼意思?你有錯誤嗎?你沒有得到正確的結果嗎? –
@SeanLange擊敗你;) – Eli