当对存在时,右外连接在左侧(id)调用null

时间:2013-08-24 03:15:50

标签: mysql sql

以下结果是左手(表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  

2 个答案:

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