0

我有一个运行 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'

^ 此查询获取具有特定序列号的每个项目的数量,但我想在执行该部分查询时忽略序列号。

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'

^ 我在单例选择中返回多行

4

1 回答 1

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'
于 2013-06-14T19:29:05.623 回答