幫忙理一下思路:這個判斷倉庫呆料的SQL該怎么寫
某一特定物品在倉庫 'CK01 '和 'CK02 '是否為超過60天的呆料
如果兩個倉庫都有的物品,只要判斷在 'CK01 '這個倉庫是否超過60天就好了(即使在 'CK02 '是符合條件的呆料也不算)。
總感覺偶下面寫的不妥,請路過的大俠幫忙理一下思路~~
SELECT DISTINCT ITEM_NO INTO V_ITEM
FROM IV_STOC_D
WHERE ORG_ID = P_ORG
AND STOC_NO IN ( 'CK01 ', 'CK02 ')
AND LAST_TRDATE <= (SYSDATE - 60)
AND STOC_QTY > 0
AND ITEM_NO=P_ITEM
AND (ITEM_NO IN (SELECT ITEM_NO FROM IV_STOC_D WHERE STOC_NO= 'CK01 ')
OR ITEM_NO IN (SELECT ITEM_NO FROM IV_STOC_D WHERE STOC_NO= 'CK02 '
AND ITEM_NO NOT IN(SELECT ITEM_NO FROM IV_STOC_D WHERE STOC_NO= 'CK01 ')))
------解决方案--------------------不知道表结构,你那些条件不知道干什么的...
select item_no from ck01 where LAST_TRDATE <= (SYSDATE - 60)
union
(select item_no from ck02 where LAST_TRDATE <= (SYSDATE - 60)
minus
select item_no from ck01 where LAST_TRDATE > (SYSDATE - 60))
------解决方案--------------------主键是那个?
------解决方案--------------------幫忙看一下,下面的語句為什么會出錯:
-----------------
下面语句不是 sql的语法啊..
------解决方案--------------------SELECT DISTINCT item_no
INTO v_item
FROM iv_stoc_d
WHERE org_id = p_org
AND stoc_no IN ( 'CK01 ', 'CK02 ')
AND last_trdate <= (SYSDATE - 60)
AND stoc_qty > 0
AND item_no = p_item