以下结果是左手(表l)“标识符”为空,即使存在一对(例如,有一个f.URL = l.URL且它们都不为空)。标识符应被视为自动增量,“URL”是唯一的
有什么明显我应该这样做,我不是吗?
SELECT *
FROM `l`
RIGHT JOIN f ON f.URL = l.URL
AND f.url <> ''
AND f.ID = l.id
AND l.url IS NULL
AND l.id IS NULL
答案 0 :(得分:1)
这只是因为你有条件AND l.id IS NULL
。
因此,所有行都有l.id = NULL
。 (或者,用你自己的话说,“左手标识符为空”。)
答案 1 :(得分:0)
如果有人发现这件事,那是因为我在ON声明中做了这件事:
这可以通过在我打算作为ON语句之后添加一个where子句来修复 -
SELECT *
FROM `l`
RIGHT JOIN f ON f.URL = l.URL
WHERE f.url <> ''
AND f.ID = l.id
AND l.url IS NULL
AND l.id IS NULL