我有兩個位置表:具有兩個表的聯合的列的SQL SUM不正確
1)一個表將列出其中包含一部分的所有位置。所以,一行將有LOCA PARTB QTY 5,另一行將有LOCA PARTC QTY2,另一行可能是LOCB PARTX QTY3。因此,當一行的QTY = 0時,它將被刪除。因此,有其中一個位置將不再在此表中列出的實例
LOCQTYS表:
Location | Part |QTY
LOCA | PARTB | QTY 5
LOCA | PARTC | QTY2
LOCB | PARTX | QTY3
2)我還有一個表,其中列出的存在,無論位置所有的名字,如果有一個部分分配給它或不分配零件。
此表只列出名稱和描述。
LOCNames表:
LocName | Description
LOCA | Storage
LOCA | Storage
LOCB | Base
所以我試圖列出用戶和顯示0的所有位置,如果沒有部件被分配或顯示指定的所有部分的總和。
example:
Loc1 30
Loc2 12
Loc3 0
Loc4 6
我的SQL語句如下:
sql = @"SELECT locnam,
Sum(locqty)
FROM (SELECT locnam,
locqty
FROM " + DatabaseUtility.LibraryList.I + @".locqtys
UNION
SELECT locdnam AS LOCNAM,
'0' AS LOCQTY
FROM " + DatabaseUtility.LibraryList.I + @".locnames) R
GROUP BY locnam
ORDER BY locnam ASC";
的問題是計數是關閉...
So what should be,
example:
Loc1 30
Loc2 12
Loc3 0
Loc4 6
結束是:
example:
Loc1 25
Loc2 8
Loc3 0
Loc4 3
的總和低於實際...我做錯了什麼?
是的,它做到了!沒有考慮到可能存在具有相同位置和數量的不同行......謝謝! – eaglei22