当另一个表中没有行时,如何从MySQL中选择行

当另一个表中没有行时,如何从MySQL中选择行,mysql,Mysql,只有在另一个表中没有用户和站点的数据时,我才尝试从一个表中选择数据 这就是我目前所拥有的 SELECT l.link_id, l.link_name, l.link_points, l.link_time, COUNT(uc.user_id) AS clicks FROM links AS l LEFT OUTER JOIN (SELECT user_id, site_id FROM user_clicks WHERE site_id

只有在另一个表中没有用户和站点的数据时,我才尝试从一个表中选择数据

这就是我目前所拥有的

SELECT 
    l.link_id,
    l.link_name,
    l.link_points,
    l.link_time,
    COUNT(uc.user_id) AS clicks
FROM 
    links AS l LEFT OUTER JOIN
    (SELECT user_id, site_id FROM user_clicks WHERE site_id = l.link_id AND user_id = ".$user['user_id'].") as uc
    USING (link_id)
GROUP BY
    l.link_id
这是我当前的尝试,但当我尝试在外部联接中提取数据时,在“where子句”中得到“未知列'l.link_id'

我该怎么做呢?

这里应该可以:

SELECT 
    l.link_id,
    l.link_name,
    l.link_points,
    l.link_time,
    COUNT(uc.user_id) AS clicks
FROM 
    links AS l LEFT JOIN
    user_clicks uc ON uc.site_id = l.link_id 
WHERE user_id = ".$user['user_id']."
    AND uc.site_id IS NULL
GROUP BY
    l.link_id

左连接选择表
链接中的所有内容,并在
WHERE
子句中使用
uc.site\u id为NULL
,确保另一个表中没有行。实际上,您在此处命名哪一列并不重要,只要它来自
user\u clicks

,此解决方案不会产生任何错误,但在链接数据库中没有用户和站点的条目时也不会返回任何内容。@DavidMacaulay这就是您所要求的?不那么请再解释一遍,你想要实现什么。