我想輸出以下數據,每個位置只有一行。現在,它表明: 120 .... 120 ... 120 ...關於SQL Distinct從句
我試着去得到它了總結所有的值到一行120,一行123,一行128,等等。我覺得這是與DISTINCT子句,但我有點腦子炸看着這...
SELECT ICLOCATION.LOCATION,
ICLOCATION.NAME,
ITEMMAST.ITEM,
ITEMMAST.DESCRIPTION,
ITEMLOC.SOH_QTY,
OnOrder,
AllocQty,
SUM(ITEMLOC.SOH_QTY + t.OnOrder - t.AllocQty) AS NetOnHand
FROM (SELECT ITEMLOC.ITEM,
SUM(ISNULL(ITEMLOC.ONORDER_QTY, 0) + ITEMLOC.INTRANS_QTY + ITEMLOC.WIP_QTY) AS OnOrder,
SUM(ITEMLOC.ALLOC_QTY + ITEMLOC.UNALLOC_QTY + ITEMLOC.BACKORD_QTY + ITEMLOC.IN_PROC_QTY + ITEMLOC.HOLD_QTY) AS AllocQty
FROM ITEMLOC
GROUP BY ITEMLOC.ITEM) t
INNER JOIN ITEMLOC
ON ITEMLOC.ITEM = t.ITEM
INNER JOIN ITEMMAST
ON ITEMLOC.ITEM = ITEMMAST.ITEM
INNER JOIN ICLOCATION
ON ITEMLOC.COMPANY = ICLOCATION.COMPANY
WHERE (ICLOCATION.LOCATION = '120'
OR ICLOCATION.LOCATION = '123'
OR ICLOCATION.LOCATION = '128'
OR ICLOCATION.LOCATION = '129'
OR ICLOCATION.LOCATION = 'HD41D'
OR ICLOCATION.LOCATION = 'HD21H'
OR ICLOCATION.LOCATION = 'HD91H')
AND ITEMMAST.ITEM = '0210950'
GROUP BY ITEMMAST.ITEM,
ICLOCATION.LOCATION,
ICLOCATION.NAME,
ITEMMAST.DESCRIPTION,
ITEMLOC.SOH_QTY,
ITEMLOC.ITEM,
OnOrder,
AllocQty
ORDER BY ICLOCATION.LOCATION,
ITEMMAST.ITEM
我已經刪除了MySQL標記,因爲它與更特定的SQL Server 2008相矛盾。 –
你能發佈你的結果嗎?您目前應該在'GROUP BY'中爲每個字段接收不同的記錄。 – sgeddes