我有多个数据库可以获取信息。我有一个显示用户查看过的页面以及单独的用户数据库。我想要做的是找到用户没有看到的所有页面。此时只是做!= user_id不起作用,因为它只显示其他人查看了各种页面。
所以我需要基本上检查所有页面记录,看看用户是否在那里,并返回用户没有看到的ID。
这就是我现在所处的位置:
SELECT video_id, ads_general.id, id_inc, user_id
FROM ads_general
LEFT JOIN ads_viewed ON (
ads_viewed.video_id = ads_general.id
)
结果:
video_id id id_inc user_id
gd27hcsc gd27hcsc 1 1
k2ku1mkp k2ku1mkp 2 1
umym9ivq umym9ivq 3 1
umym9ivq umym9ivq 3 5
5l66bd0f 5l66bd0f 4 1
5l66bd0f 5l66bd0f 4 4
NULL vvw54epx 5 NULL
此查询显示视频的ID和查看该页面的用户。
答案 0 :(得分:0)
您是否尝试选择user_id未归属的任何video_ids(尚未看到)?
您可能需要在查询中添加DISTINCT,所以:
SELECT DISTINCT video_id
...
WHERE User_Id != [user_id]
这将确保每个人只回来一次。