我正在执行此查询以获取table_b中的行而不是table_a中的行:
SELECT table_b.* FROM table_b
LEFT JOIN table_a ON table_b.id = table_a.id
WHERE table_a.item_id IS NULL
这可行,但我需要在table_a上应用另一个条件。我需要只比较列X等于ID为3的行,而不是比较整个表。有什么想法吗?
感谢。
答案 0 :(得分:2)
我不确定你是否在寻找table_a列x或table_b列x,但我们的想法是将它添加到join ON子句中:
LEFT JOIN table_a ON table_b.id = table_a.id and table_a.id = 3
答案 1 :(得分:0)
试试这个......
SELECT table_b.* FROM table_b LEFT JOIN table_a ON table_b.id = table_a.id AND table_a.X = 3 WHERE table_a.item_id IS NULL
应该做的诀窍......
但这有点奇怪,因为它可能会回报超过你的要求。此查询还将返回table_b中具有table_a结果的任何行,但这些行的“X”值不为3.
如果它不起作用,请尝试举例说明您需要查找的数据以及您不想要的数据,我们可以尝试进一步提供帮助!