MySQL - 加入或声明?

时间:2011-09-26 21:46:51

标签: mysql inner-join

我有一个查询,如果该字段有一个值或另一个值,我想加入另一个表。我该怎么做呢?我应该使用或声明吗? (甚至可能吗?)或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)

1 个答案:

答案 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