仅当用户和网站的另一个表中没有数据时,我才尝试从一个表中选择数据。
这就是我目前所拥有的。
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
LEFT JOIN 从表 links
中选择所有内容,并在 WHERE
子句中使用 uc.site_id IS NULL
,确保那里另一个表中没有行。实际上,你在那里命名哪一列并不重要,只要它来自 user_clicks
关于mysql - 当另一个表中没有行时如何从MySQL中选择一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10262457/