我相信ELSE中的SELECT語句也是可以的,對吧?ELSE部分中的SELECT語句?
我有這個疑問:
CASE ORDER1
WHEN NULL
THEN ''
ELSE (
SELECT P.VENDOR_ID
FROM ORDERS1${RGCM_CAMP_LOGIC_SUFFIX} P
LEFT JOIN ORDERS2${RGCM_CAMP_LOGIC_SUFFIX} O
ON P.CUSTOMER_ID = O.CUSTOMER_ID
WHERE P.ORDER_DATE = O.ORDER1
)
END AS VENDOR_ID1
我敢肯定,子查詢只返回1行還是我得到錯誤: ORA-01427:單行子查詢返回不止一行
我正在檢查是否有任何ORDER1,那麼應該選擇它的VENDOR_ID並稱爲VENDOR_ID1。
我在哪裏做錯了?
你確定它只返回1個結果嗎?嘗試運行它sepparately並查看結果。 –
將該查詢作爲獨立查詢運行,並檢查它是否總是隻返回一行。 –
用'SELECT COUNT(*)'更改'SELECT P.VENDOR_ID'並查找包含兩個(或更多)行的結果。 –