我有两个位置表:具有两个表的联合的列的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