WHEREの条件先で同一テーブル内にEXISTSで判定したいものとNOT EXISTSで判定したいものが混在した場合処理をまとめることはできますでしょうか
cont_idで通常の国コードでcont_flagが1の場合契約ありとし、NO_XXがきた場合cont_flagが1の場合契約違反としています
cont_flagは契約があれば1ですがそうでない場合は不規則のためこうしています
SELECT * FROM master_tb mt INNER JOIN lang_num ln ON mt.id = ln.id WHERE mt.delete_flg = '0' AND (EXISTS ( SELECT lw.id FROM lang_type lw WHERE lw.id = ln.cd_num AND lw.cont_id IN ('US', 'EN') AND lw.cont_flag ='1' ) OR NOT EXISTS ( SELECT lw.id FROM lang_type lw WHERE lw.id = ln.cd_num AND lw.cont_id IN ('NO_GB', 'NO_ES', 'NO_TW') AND lw.cont_flag ='1' ) )

回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。