我正在尝试从一个表中选择数据,只要在另一个表中没有用户和站点的数据。
这是我到目前为止所做的。
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'。
我该怎么做?
答案 0 :(得分:1)
这应该有效:
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
LEFT JOIN选择表links
中的所有内容以及uc.site_id IS NULL
子句中的WHERE
,确保其他表中没有行。实际上,只要它来自user_clicks