我有两个成功的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