I have the following qury that returns a cycle count class (a,b or c) as it is stored inthe DB. I like to put a case statement that would return what the cycle count class should be based on the COUNT(DISTINCT SD.SHIPMENT_ID).
The case statement should be somethin like
This would give me a list of what the item Cycle Coutn Class is set up now and what it should be chnaged to depending on the COUNT(DISTINCT SD.SHIPMENT_ID)
Any help with this is appreciated
Thanks
RJL1
The case statement should be somethin like
Code:
WHEN COUNT(DISTINCT SD.SHIPMENT_ID) < 100 THEN 'C'
WHEN COUNT(DISTINCT SD.SHIPMENT_ID) 100 to 199 THEN 'B'
WHEN COUNT(DISTINCT SD.SHIPMENT_ID) > 200 THEN 'A'
This would give me a list of what the item Cycle Coutn Class is set up now and what it should be chnaged to depending on the COUNT(DISTINCT SD.SHIPMENT_ID)
Code:
SELECT
LI.COMPANY,
LI.ITEM,
LI.ITEM_DESC,
I.ITEM_CATEGORY5 AS 'CYCLE_COUNT_WEEK',
I.ITEM_CATEGORY4 AS 'CYCLE_COUNT_CLASS',
SUM(LI.ON_HAND_QTY) AS 'QTY',
LI.QUANTITY_UM,
COUNT(DISTINCT SD.SHIPMENT_ID) AS 'SHIPMENTS'
FROM
LOCATION_INVENTORY LI WITH(NOLOCK)
JOIN ITEM I ON I.ITEM = LI.ITEM
JOIN SHIPMENT_DETAIL SD ON SD.ITEM = LI.ITEM
JOIN SHIPMENT_HEADER SH ON SH.INTERNAL_SHIPMENT_NUM = SD.INTERNAL_SHIPMENT_NUM
WHERE
LI.ITEM in ('X0588700','X0584700','X04655N0') AND
SH.ACTUAL_SHIP_DATE_TIME BETWEEN '01/01/2009 00:00:00' AND '01/30/2009 23:59:59'
GROUP BY
LI.COMPANY,
LI.ITEM,
LI.ITEM_DESC,
I.ITEM_CATEGORY5,
I.ITEM_CATEGORY4,
LI.QUANTITY_UM,
I.USER_STAMP
HAVING
SUM(LI.ON_HAND_QTY) > 0
ORDER BY
COUNT(DISTINCT SD.SHIPMENT_ID),
LI.COMPANY,
I.ITEM_CATEGORY5,
I.ITEM_CATEGORY4
Any help with this is appreciated
Thanks
RJL1