2017-06-18 61 views
0

选择table1.id,(table1.total_item-table2.requested),如从表1 items_left ,表2 其中table2.year = 2015 组由table1.idSQL查询接合和分组表

我使用SQL Server 2008 .. 我的代码有什么问题?它不能在ID号组,

我想总结table1中的所有个人table1.items,并将所有个人table2.requested在表2中的总和 减去剩余的项目,因为我把它命名为items_left和组它由table1.id

这样的事情...

0. id items_left year 
1. 1 3  2015 
2. 5 10  2015 
3. 3 4  2015 

这是上面代码的输出... 有ID的重复,我不能组它

0. id items_left 
1. 1 1 
2. 1 1 
3. 1 2 
4. 5 5 
5. 3 2 
6. 5 5 
7. 3 2 

我想这样的输出..请先生/女士帮助我..

这样的事情...

0. id items_left year 
1. 1 3  2015 
2. 5 10  2015 
3. 3 4  2015 

回答

0

你缺少一个“SUM()”第二领域;还缺少加入条件:

SELECT tab1.id, sum(tab1.total_item - ifnull(tab2.requested,0)) AS items_left 
FROM tab1 
LEFT JOIN tab2 ON tab1.id = tab2.?? 
WHERE tab2.year = 2015 
GROUP BY tab1.id