MySQL在一个表中,但在其他表中没有特定ID - 查询给出了太多结果?

时间:2016-02-12 12:38:15

标签: mysql sql

我有两个表:uripagesuri包含网页的网址,网页的网址也会在pages中存储为slug。

因为我可以forwarders没有连接到page但存储在uri表中,我需要一个查询来提取这些'未连接到的' -page'url来自数据库。

我尝试使用以下查询:

SELECT uri.* 
FROM uri
LEFT JOIN pages 
ON uri.f_site_id = pages.f_site_id
WHERE uri.f_site_id = '2' // <-- Site id here
AND pages.slug IS NULL

问题是必须有30个结果,并且有2112个结果......每个结果都会返回很多次! 它比我期待的要多得多,出了什么问题?

1 个答案:

答案 0 :(得分:0)

如果您希望的那些连接到页面,那么您需要在查询中表达这一点:

SELECT uri.* 
FROM uri LEFT JOIN
     pages 
     ON uri.f_site_id = pages.f_site_id
WHERE uri.f_site_id = '2' AND // <-- Site id here
      pages.f_site_id IS NULL;