我很难获得此查询以返回1行中的总和.
SELECTst.[code], SUM(whst.WHQtyOnHand)
FROM dbo.[StkItem] st, dbo.WhseStk whst
WHERE whst.WHWhseID in (3, 4)
AND whst.WHStockLink = st.StockLink
AND st.Code = 'BNV203N'
GROUP BY st.[Code], whst.WHWhseID, whst.WHStockLink
Run Code Online (Sandbox Code Playgroud)
这是我得到的结果:
Code WHQtyOnHand
---------------------------
BNV203N 694
BNV203N 3748
Run Code Online (Sandbox Code Playgroud)
我总需要它们.
你只想分组st.Code.我也摆脱了笛卡儿join和where条款的习惯.只需使用正确的INNER JOIN:
SELECT st.[code], SUM(whst.WHQtyOnHand)
FROM dbo.[StkItem] st
INNER JOIN dbo.WhseStk whst
ON whst.WHStockLink = st.StockLink
WHERE whst.WHWhseID IN (3,4)
AND st.Code = 'BNV203N'
GROUP BY st.[Code]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |