私は以下のように2つのテーブルを持っています:
create table table1 (id int not null, c1 varchar(10))
create table table2 (id int not null, value varchar(10))
insert into table1 values (10, 'record 1')
insert into table1 values (20, 'record 2')
insert into table2 values (10, 0)
私の要件は...
table2 の「値」が 0 であるか、table2 にレコードがない場合、table1 からすべてのレコードをフェッチする必要があります。id=20 の場合、table2 にはレコードがありませんが、それでも結果に表示したいと考えています。
LEFT JOIN を使用したくありません。INNER JOINでOR条件を使いたい。
私の現在のクエリは...
select a.*
from table1 a
inner join table2 b
on a.id = b.id and b.value = 0
私が探している結果は...
10 レコード 1 (テーブル 2 の値が 0 であるため結果になります) 20 レコード 2 (テーブル 2 に 20 の値がないため結果になります)