我有一个运行firebird的数据库。
我想通过itemloc和itemcode获得项目数量的总和。 这些数据将包含在具有单个序列号的最终数据中。
SELECT itemloc,
itemcode,
(SELECT SUM(qty) FROM item_data
WHERE itemcode = item_data.itemcode itemloc = item_data.itemloc
AND usecode ='INV'
GROUP BY itemloc, itemcode ),
serialno
FROM item_data WHERE usecode ='INV'
^此查询获取具有特定serialno的每个项目的数量,但我想在执行查询的这一部分时忽略serialno。
SELECT itemloc, itemcode, SUM(qty) FROM item_data
WHERE usecode ='INV'
GROUP BY itemloc, itemcode
^此查询获取我想要的SUM,但无法获得我需要的其他信息。
tldr; 我想做这个工作
SELECT itemloc, itemcode,
(SELECT SUM(qty) FROM item_data
WHERE usecode ='INV' AND itemcode = item_data.itemcode AND itemloc = item_data.itemloc
GROUP BY itemloc, itemcode),
serialno
FROM item_data WHERE usecode ='INV'
^我在单例选择中返回多行
答案 0 :(得分:1)
这类似于你想要的吗?
SELECT itemloc
,itemcode
, serialno
, thesum
FROM item_data join
(SELECT itemloc, itemcode, SUM(qty) thesum
FROM itemh
WHERE usecode ='INV'
GROUP BY itemloc, itemcode ) temp on item_data.itemloc = temp.itemloc
and item_data.itemcode = temp.itemcode
WHERE usecode ='INV'