我的问题是,在两个表格中,我需要一个结果集,显示每个PLU的订购商品数量以及仍有库存的商品数量。
我无法在一个存储过程中执行此操作。
我的查询显示订单。
SELECT
tblOrderDetails.PLU, tblArtikel.Description,
SUM(tblOrderDetails.Pieces) AS Pieces
FROM
tblOrderDetails
INNER JOIN
tblArtikel ON tblOrderDetails.PLU = tblArtikel.PLU
GROUP BY
tblOrderDetails.PLU, tblArtikel.Description
作为输出返回:
30002 BA4875 3
30012 UK8798 15
我的库存是用
查询的(SELECT SUM(tblStock.Pieces) AS Ls, tblStock.PLU
from tblStock
GROUP BY tblStock.PLU)
结果如下:
30002 BA4875 3 0
30012 UK8798 15 8
意味着artikelno 30002有3个有序和0个库存
那么,如何将两个查询(结果集)合并到一个SP中?
我总是收到错误
Msg 116
当未使用EXISTS引入子查询时,只能在选择列表中指定一个表达式。
我知道错误是什么,但如果没有库存查询中的PLU,我不知道如何组合两个结果集。
谢谢你。救命 迈克尔
答案 0 :(得分:0)
请你试试下面的
SELECT
tblOrderDetails.PLU, tblArtikel.Description,
SUM(tblOrderDetails.Pieces) AS Pieces
FROM tblOrderDetails
INNER JOIN tblArtikel ON tblOrderDetails.PLU = tblArtikel.PLU
where exists
(
select SUM(tblStock.Pieces) AS Ls, tblStock.PLU from tblStock
where tblArtikel.PLU = tblStock.PLU
GROUP BY tblStock.PLU
having SUM(tblStock.Pieces) > 0
)
GROUP BY tblOrderDetails.PLU, tblArtikel.Description
如果有帮助,请告诉我