Sql 第二次调用仓库项目时发生重复

Sql 第二次调用仓库项目时发生重复,sql,sql-server,Sql,Sql Server,我在我的查询中得到了一些奇怪的重复。问题是我需要能够从仓库项目表中查询两个库存QTY,正如您所看到的,我两次调用它,因此存在仓库项目的重复。我会发现我的加入才是问题所在 SELECT ki.[KitItemID] ,ki.[KitHeaderID] ,kh.StockCode as KitHeaderStockCode ,ki.[StockCode] ,ki.[StockDescription] ,ki.[StockItemID]

我在我的查询中得到了一些奇怪的重复。问题是我需要能够从仓库项目表中查询两个库存QTY,正如您所看到的,我两次调用它,因此存在仓库项目的重复。我会发现我的加入才是问题所在

SELECT ki.[KitItemID]
      ,ki.[KitHeaderID]
      ,kh.StockCode as KitHeaderStockCode
      ,ki.[StockCode]
      ,ki.[StockDescription]
      ,ki.[StockItemID]
      ,ki.[Qty]
      ,ki.[IsBoard]
      ,ki.[IsSubAssembly],
      ISNULL(wip.ConfirmedQtyInStock,0) as InStockCs,
      ISNULL(SUM(wip2.ConfirmedQtyInStock), 0) as InStockWip,           
       @ppBatch as BatchID

FROM KitItem ki
LEFT JOIN KitHeader kh ON ki.KitHeaderID = kh.KitHeaderID
LEFT JOIN WarehouseItem wip2 ON ki.StockItemID = wip2.ItemID AND wip2.WarehouseID = (SELECT TOP 1 WIP_LocationID FROM Settings) 
INNER JOIN
dbo.WarehouseItem wip ON ki.StockItemID  =wip.ItemID INNER JOIN
dbo.Warehouse war ON wip.WarehouseID = war.WarehouseID
WHERE ki.IsBox = 0
GROUP BY 
ki.[KitItemID]
,ki.[KitHeaderID]
,kh.StockCode
,ki.[StockCode]
,ki.[StockDescription]
,ki.[StockItemID]
,ki.[Qty]
,ki.[IsBoard]
,ki.[IsSubAssembly]
,wip.ConfirmedQtyInStock
,wip2.ConfirmedQtyInStock   

在ki.StockItemID=wip.ItemID上的
之后,添加

and wip.ItemID=wip2.ItemID

因此,每一行只包含关于1个项目的数据,而不是2个项目的数据。如果您获得了完整的重复项,您可以在
选择
中使用
distinct
,否则在
group by
中添加一列,该列不同

对不起,您的意思是在内部连接之后的通话中是。ki.StockItemID=wip.ItemID(添加到此处)上的内部联接dbo.WarehouseItem wip和…似乎仍有重复,它现在对它们进行了分组,这似乎是正确的。@DavidB如果您可以发布DDL+DML,那么我们将有一些工作要做(意味着发布查询以创建表并插入一些示例数据)