我有一个查询,如果该字段具有一个值或另一个值,我想连接到另一个表。我该怎么做呢?我应该使用 or 语句吗? (这可能吗?)或者 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)
最佳答案
我的想法略有不同,并从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
关于MySQL - 使用 or 语句连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7561728/