我希望获得订阅一个帖子但其他类型的用户的ID。
请查看下表
表:订阅者
userid post_id notification_made
33 780 2
35 780 2
29 780 2
33 780 1
35 780 1
在上面的图片中,在插入最后2条记录时,我使用insert query添加33和35,其中notification_made = 1.这里我想获取此表中具有相同post_id的用户的ID(780)但是那些不在同一个notification_id(1)下。所以我需要29个Userid,它位于相同的post_id下但不在同一个notification_made下。
请帮忙!
提前致谢。
答案 0 :(得分:1)
考虑到您有三个参数(两个用户ID和一个通知模式),并且您想要插入,您可以尝试:
INSERT INTO subscribers
SELECT DISTINCT a.userid, a.post_id, 1
FROM subscribers a
INNER JOIN
(
SELECT post_id
FROM subscribers
WHERE userid IN (33,35) AND notification_made = 1
GROUP BY post_id
HAVING COUNT(*) = 2
) b ON a.post_id = b.post_id
WHERE a.userid NOT IN (33,35) AND a.notification_made <> 1