我有一个查询,如果该字段有一个值或另一个值,我想加入另一个表。我该怎么做呢?我应该使用或声明吗? (甚至可能吗?)或IN语句是否足够?
SELECT table1.field1,table2.field2 FROM table1
INNER JOIN table2 ON table1.field1 = table2.field2 OR table2.field2 = 0
基本上,表2中的字段可以是表1中的匹配,也可以是数字0,我想在其中或者匹配。因此,如果table1字段和table2字段没有匹配,但table2字段中有0,那么我想加入表。希望有道理。或者这会更好吗?
SELECT table1.field1,table2.field2 FROM table1
INNER JOIN table2 ON table1.field1 IN(table2.field2,0)
答案 0 :(得分:2)
我认为它略有不同,从table2
开始。
SELECT table1.field1, table2.field2
FROM table2
LEFT JOIN table1
ON table2.field2 = table1.field1
WHERE table2.field2 = 0
OR table1.field1 IS NOT NULL