Sql 对于相同的销售id,如何从两个具有相等总和的不同表中获取数据?
我有以下两个表格:Sql 对于相同的销售id,如何从两个具有相等总和的不同表中获取数据?,sql,sql-server,Sql,Sql Server,我有以下两个表格: saleid是常用列。我可以单独获得每个表的总计: select saleid, sum(quantity) from table1 group by saleid; select saleid, sum(extracted) from table2 group by saleid; 我需要将表2中提取的数量总和与表1中每次销售的数量总和进行比较 我可以使用哪种SQL Server或SQL工具来连接sum查询的输出并获得如下结果: 尝试以下带有内部联接和子查询的查询
saleid
是常用列。我可以单独获得每个表的总计:
select saleid, sum(quantity)
from table1
group by saleid;
select saleid, sum(extracted)
from table2
group by saleid;
我需要将表2中提取的数量总和与表1中每次销售的数量总和进行比较
我可以使用哪种SQL Server或SQL工具来连接sum查询的输出并获得如下结果:
尝试以下带有内部联接和子查询的查询:
select a.saleid, quantity ,extracted from
(select saleid, sum(quantity) as quantity from table1 group by saleid)a
inner join
(select saleid, sum(extracted) as extracted from table2 group by saleid)b
on a.saleid=b.saleid
group by a.saleid
假设两个表中的
saleid
相同,您可以通过列连接两个表,并通过下面的查询获取数据
select t1.saleid,
sum(t1.quantity) ,
sum(t2.extracted)
from table1 t1 join table2 t2
on t1.saleid = t2.saleid
group by t1.saleid;
试试这个:
select t1.saleid, t1.quantitySum, t2.extractedSum from
(Select saleid, sum(quantity) as quantitySum from table1 group by saleid)t1
inner join (Select saleid, sum(extracted) as extractedSum from table2 group by saleid)t2 on t1.saleid= t2.saleid and t1.quantitySum=t2.extractedSum ;