2017-05-04 5 views
1

in節に一致しないすべての値を表示する方法は?例については

MY_TABLE 
COL1->'P1','P2','P3' 

OUTPUTは、私が試したP4,P5

表示されるはずです:

select col1 from my_table where col1 not in ('p4','p5'); 
+0

選択COL1を。テーブルはp4とp5の値を持つ必要があります。 –

+0

実際に私はp1からp5までの範囲の値を持っています。列にない値を表示したいのですが。 – Dualcoder

+0

の間に数値を使用できます。 –

答えて

1

理想的には、適切なSQLテーブルの値の範囲を持つ必要があります。これを欠いている、あなたは範囲を保持するためにオンザフライCTEを使用することができますない(「P1」、「P2」、P3「」)でmy_tableにCOL1から

WITH cte AS (
    SELECT 'p1' AS col1 FROM dual UNION ALL 
    SELECT 'p2' FROM dual UNION ALL 
    SELECT 'p3' FROM dual UNION ALL 
    SELECT 'p4' FROM dual UNION ALL 
    SELECT 'p5' FROM dual 
) 
SELECT t1.col1 
FROM cte t1 
LEFT JOIN my_table t2 
    ON t1.col1 = t2.col1 
WHERE t2.col1 IS NULL 
+0

Thsnkはあなたです。 – Dualcoder

関連する問題