以下のようなSQLを実行した際に、「副問合せの結果が2件以上あります」となり、検索がうまくできません。
副問合せ結果を条件に検索条件を分岐し、「多 対 多」の条件をつけて検索したいのですが、どのようにすればエラーとならずに検索できるのか、ご教示いただけないでしょうか。
実現したいこと
副問合せ内容(課No「01」に所属する社員の性別が「1」か否か)が2件以上で、
給与テーブルとの結合時の条件を変更する。
SQL
1SELECY * FROM SYAIN_TABLE A 2INNER JOIN BUSHO_TABLE B 3on A.syain.no = B.syain_no 4INNER JOIN KYUUYO_TABLE C 5--以下の部分の検索で多対多 6C.kyuuyo_syubetu_no = 7CASE WHEN (SELECT seibetu from SYAIN_TABLE WHERE ka_no = '01') = '1' then 'a.ka_no || a.busyo_no.no' 8ELSE 'A.nyuusya_year || A.busyo_no' 9-- 10WHERE A.syain_no =< 30000;
実行環境:SQLPLUS(Oracle19c)
OS:Windows10
あなたの回答
tips
プレビュー