Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 对于相同的销售id,如何从两个具有相等总和的不同表中获取数据?_Sql_Sql Server - Fatal编程技术网

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 ;