[英]How to select a row from MySQL when there are no rows in another table
我試圖僅從一個表中選擇數據,前提是該用戶和站點的另一表中沒有數據。
到目前為止,這就是我所擁有的。
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
命名哪一列就user_clicks
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.