次のような2つのSQLと結果があります・
SQL1 select d.no as no from tbl_d as d inner join tbl_e as e on e.no = d.no where e.auth1 = '0' and e.auth1 <> '1';
この結果が
結果1 | no | | 001 | | 003 | | 007 | | 008 | | 010 | | 011 | | 012 | | 015 | | 016 | | 020 | | 025 | | 030 | | 035 | | 045 | | 050 | | 060 | | 065 | | 070 | | 080 | | 085 | | 090 | | 095 | | 096 | | 105 | | 106 | | 107 | | 110 | | 112 | | 115 | | 121 | | 125 | | 130 | | 135 | | 136 | | 140 | | 142 | | 145 | | 150 | | 160 | | 165 | +-----+ 40 rows in set (0.00 sec)
そして2つ目のSQL
select a.no as no from tbl_a as a inner join tbl_b as b on a.j_num = b.j_num inner join tbl_c as c on a.no = c.no where c.no <> '141' and b.j_num = '5432456782';
この結果が
+-----+ | eno | +-----+ | 012 | | 130 | +-----+
とします。
結果1-結果2を得ようと次のSQLを組みましたがうまく結果が得られません。
select a.no as no from tbl_a as a inner join tbl_b as b on a.j_num = b.j_num inner join tbl_c as c on a.no = c.no where c.no <> '141' and b.j_num = '5432456782' and not exists( select * from tbl_d as d inner join tbl_e as e on e.no = d.no where e.auth1 = '0' and e.auth1 <> '1');
希望する結果 | no | | 001 | | 003 | | 007 | | 008 | | 010 | | 011 | | 015 | | 016 | | 020 | | 025 | | 030 | | 035 | | 045 | | 050 | | 060 | | 065 | | 070 | | 080 | | 085 | | 090 | | 095 | | 096 | | 105 | | 106 | | 107 | | 110 | | 112 | | 115 | | 121 | | 125 | | 135 | | 136 | | 140 | | 142 | | 145 | | 150 | | 160 | | 165 | +-----+
(追記)希望する結果を記述しました。
とするとempty となってしまいます。
どこがおかしいのか分からず困っています。
ご助言、ご指導いただければと思います。
宜しくお願いいたします。
回答2件
あなたの回答
tips
プレビュー