2017-06-18 4 views
0

選択table1.id、(table1.total_item-table2.requested)テーブルを結合し、グループ化 、私が使用していtable1.idSQLクエリは

によってtable2.year = 2015 基表2 SQL Server 2008 .. 私のコードで何が間違っていますか?それはID番号のグループにすることはできません

私はtable1のすべての個々のtable1.itemsを合計したいテーブル2に必要なすべての個々のtable2.に私は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

あなたが欠落している「の合計を()」フィールド;接合条件が不足している:

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