- 締切済み
SQL 取得した値について
力を貸してください。 教えてください。 (1)SELECT 項目1 FROM 表 (2)SELECT 項目2 FROM 表2 WHERE = A <> 「(1)で取得した項目1」 ※(1)で取得した値を(2)のWHERE句の条件で使用したいのですが、 どの方法であればよろしいでしょうか? 回答の方をお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- nora1962
- ベストアンサー率60% (431/717)
回答No.2
いろいろ考え方があります。 > (1)SELECT 項目1 FROM 表 が必ず1行しか返さないのなら SELECT 項目2 FROM 表2 WHERE = A <> ( SELECT 項目1 FROM 表 ) と書けます 複数行返す可能性がある場合は、その全てに一致しない場合、抽出する場合は SELECT 項目2 FROM 表2 WHERE = A <> all ( SELECT 項目1 FROM 表 ) SELECT 項目2 FROM 表2 WHERE = A not in ( SELECT 項目1 FROM 表 ) ただし、項目1にNULLが含むとこのクエリは1行も返しません。注意が必要です。 not exists を使うことも出来ます。 SELECT 項目2 FROM 表2 WHERE not exists ( SELECT 1 FROM 表 where 表.項目1 = 表2.A ) このSQLは項目1がNULLの場合でも行を返します。
- SaKaKashi
- ベストアンサー率24% (755/3136)
回答No.1
SELECT 項目2 FROM 表2 WHERE A IN ( SELECT 項目1 FROM 表 )
質問者
お礼
回答して頂き大変感謝してます。 ありがとうございます。
お礼
大変丁寧な回答をして頂きありがとうございます。 早速実行してみます。