我想請你幫我一個問題SQL列不包括價值
我現在有SQL表PRODUCT
和PRODUCT_PARAMETER
。
PRODUCT
有一個有趣的領域:PRODUCT_ID
(和其他一堆,不重要)。
PRODUCT_PARAMETER
鏈接到PRODUCT
上PRODUCT_ID
,有列KEY
和VALUE
。
我需要找出所有沒有PRODUCT_PARAMETER
的關鍵「成本」的產品,或者他們有參數,但值是NULL
。可以有PRODUCT_PARAMETER
與不同的密鑰
此外,由於我使用它的系統的限制,我不能更改數據庫的結構,並且必須在一個SQL命令內執行它,後者可能導致我最痛苦,因爲我相當有信心能拉我從DB
SELECT PRODUCT_ID FROM PRODUCT MINUS
SELECT PRODUCT_ID FROM PRODUCT_PARAMETER WHERE KEY LIKE 'cost';
需要拉出產品無論是一半沒有在現有拉出產品具有NULL值的參數和
SELECT PRODUCT_ID FROM PRODUCT_PARAMETER WHERE KEY LIKE 'cost' AND VALUE IS NULL
鍵。
在頂層,我需要把兩種結果爲單SYS_REFCURSOR這是由藍圖這樣
FUNCTION VALIDATION_FCTN RETURN SYS_REFCURSOR IS
v_rc sys_refcursor;
BEGIN
OPEN v_rc FOR #fillSelectStatementHere;
RETURN v_rc;
END;
這一點我稍微可以,只要它返回一個REFCURSOR所有值修改定義的,如果合併遊標優於SELECT
聲明。雖然我對SQL編程非常新鮮,以前從未見過PLSQL
,所以如果可能的話,我寧願選擇SELECT
解決方案。
預先感謝您
爲什麼'LIKE'沒有任何野生卡? (我可能會用'='來代替)。 – jarlh
@jarlh好吧,這只是一個習慣。所有其他測試都是在有字符串的情況下使用LIKE編寫的,而不是通配符。 – erewien