这低于表2中的数据
ID2 | Count2
-----------+-----------
1345653 5
534140349 5
682527813 4
687612723 3
704318001 5
这是我在表1中的以下数据
ID1 | Count1
-----------+-----------
1345653 4
704318001 4
1345653
具有5 count
,但在表1中,它具有4 count
,同样,表2中的ID 704318001
具有{{} 1}}但在表1中它有5 count
。 所以我需要在输出中显示这样的内容。我有第一部分的工作查询,但我不确定如何处理第二部分。
4 count
这可能在sql中吗?如果是,我该如何实现?
我创建了SQL fiddle,其中只有count事件正在工作(意味着第一部分),而且我不确定如何在该SQL查询中添加每个列功能的总和。
答案 0 :(得分:1)
它会对你有用吗?
select id2, SUM(count2),SUM(coalesce(count1, 0)) as count1
from table2
left outer join table1
on id1=id2
group by id2
with rollup
这是mysql语法,但大多数RDMS支持ROLLUP
语法上的差异很小
答案 1 :(得分:0)
在标准的sql中:
Select id, Count2,Count1, Count2+Count1 as CountSum
from table2
left outer join table1 on table1.id=table2.id
答案 2 :(得分:0)
您正在寻找“汇总”分组。我相信以下查询应该提供您想要的。假设你正在使用SQL Server ......
SELECT
ISNULL(Table1.ID1, Table2.ID2) AS ID,
SUM(ISNULL(Table2.Count2, 0)) AS Count2,
SUM(ISNULL(Table1.Count1, 0)) AS Count1
FROM Table1
FULL JOIN Table2 ON Table2.ID2 = Table1.ID1
GROUP BY
ISNULL(Table1.ID1, Table2.ID2) WITH ROLLUP