我有2個表如下:內連接有或條件(SQL服務器)
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)
我的要求是...
我從何處獲取table1的所有記錄「表2中的'值'是0或者表2中沒有記錄。對於id = 20,表2中沒有記錄,但我仍然想在結果中顯示它。
我不想使用LEFT JOIN。我想在INNER JOIN中使用OR條件。
我當前的查詢是...
select a.*
from table1 a
inner join table2 b
on a.id = b.id and b.value = 0
我找的是結果...
10 RECORD1(將在結果,因爲它是表2中值爲0) 20 RECORD2 (將在結果,因爲在表2 20沒有值)
'LEFT JOIN'有什麼問題? – peterm
您是否必須使用連接? –
該要求沒有意義。您不能使用'INNER JOIN'並表示不滿足連接條件的行。你說你想在你的漢堡包上番茄醬,但你不想用番茄醬。你能解釋爲什麼你不想使用左連接,或者你爲什麼認爲可以用內連接來做到這一點? –