前提・実現したいこと
CASE文のWHEN句の中で
「別テーブルのSELECT文の結果が1件以上だった場合」
といったような条件を記載したいのですが、どう記載すればいいのかがわかりません。
SQL
1SELECT 2 CASE 3 WHEN ******* THEN *** 4 WHEN ******* THEN *** 5 ELSE NULL 6 END AS result
COUNT句を使った方法も試みたのですが、うまくいきませんでした。
SQL
1SELECT 2 DATA1, 3 CASE 4 WHEN (SELECT COUNT(DATA2 = '123456') FROM TABLE2)> 0 THEN '1件以上' 5 ELSE '0件' 6 END AS result 7FROM 8 TABLE1
どのように書いたら実現できるのでしょうか?
追記
02/23追記
結合条件は以下です。
TABLE1.DATA1 = TABLE2.DATA1
検索結果のイメージとしては、結合したテーブルのデータの中で、WHEN句のSELECTでヒットしたレコードのresult項目には'1件以上'、ヒットしなかったレコードのresult項目には'0件'と挿入し、表示させたいです。
使用するテーブルは以下です。
TABLE1
DATA1 |
---|
ABCD |
EFGH |
IJKLM |
NLOP |
TABLE2
DATA1 | DATA2 |
---|---|
ABCD | 123456 |
EFGH | 987654 |
IJKLM | 123456 |
NLOP | 876543 |
取得結果イメージは以下です。
DATA1 | result |
---|---|
ABCD | 1件以上 |
EFGH | 0件 |
IJKLM | 1件以上 |
NLOP | 0件 |
補足情報(FW/ツールのバージョンなど)
OS:Windows10
DB:PostgreSQL
使用ソフト:A5:SQL Mk-2 Version 2.16.0(x64 edition)
回答1件
あなたの回答
tips
プレビュー