【发布时间】:2016-07-27 14:25:53
【问题描述】:
我正在用这些表格中的好恶来保存兴趣:pages、pages_likes、pages_dislikes
现在我想要一个主页来显示一个随机页面,但只显示那些未被特定用户喜欢或不喜欢的页面。
到目前为止,我有这个 SQL 语句:
SELECT
p.id AS page_id, d.uid AS duid, l.uid AS luid,p.title FROM OneNight_pages p
LEFT JOIN OneNight_pages_dislikes d on d.page_id = p.id
LEFT JOIN OneNight_pages_likes l on l.page_id = p.id
WHERE
l.uid != 1 AND d.uid != 1
GROUP BY page_id
ORDER BY rand() LIMIT 10
我首先在没有AND d.uid != 1 的情况下对此进行了测试,并得到了正确的结果。但是在添加了这个 AND 条件后,我得到了错误的结果。他只会选择一个被喜欢和不喜欢的页面,而不是像我想要的那样过滤掉这个特定的用户 ID。
我怎样才能实现只排除喜欢和不喜欢的特定用户 ID?我想需要一个子查询或其他东西吗?
【问题讨论】:
标签: mysql