以下代码应该返回与另一个表中的参数匹配或者根本不匹配ID的结果。
这是我的尝试,我不明白为什么它不起作用。它返回的结果数量是很多倍。
SELECT *
FROM table2, table1
WHERE table1.ID = table2.name
AND table1.value = 1
OR table1.ID != table2.name
如何解决这个问题
答案 0 :(得分:0)
看起来你需要一些括号
FROM table2, table1 WHERE (table1.ID = table2.name AND table1.value = 1) OR table1.ID != table2.name
FROM table2, table1 WHERE table1.ID = table2.name AND (table1.value = 1 OR table1.ID != table2.name)
答案 1 :(得分:0)
你可以做两件事:
请点击此处查看对它们的解释:http://www.w3resource.com/sql/joins/perform-a-full-outer-join.php
SELECT *
FROM table2, table1
WHERE table1.ID = table2.name(+)
AND table1.value = 1
一个例子,在那里,没有经过测试,但我认为它会起作用