我想获取已订阅一个帖子但以其他某种类型订阅的用户的ID。
请检查下表
表:订户
userid post_id notification_made
33 780 2
35 780 2
29 780 2
33 780 1
35 780 1
在上图中,在插入最后2条记录时,我使用了插入查询,以notification_made = 1添加了33和35。在这里,我想获取该表中具有相同post_id(780)的用户的ID,但这些ID不在相同的notification_id(1)。所以我需要29个Userid,它在相同的post_id下,但不在相同的notification_made下。
请帮忙 !
提前致谢。
最佳答案
考虑到您具有三个参数(两个用户标识和一个通知模式),并且要插入,可以尝试:
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
关于mysql - 获取一个条件下不在同一表中的记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11609200/