【发布时间】:2017-03-09 22:47:34
【问题描述】:
我有两个位置表:
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
总和低于实际...我做错了什么?
【问题讨论】: