0

ある投稿を購読しているが、別のタイプのユーザーの 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 を取得したいと考えています同じ notification_id (1)。したがって、同じ post_id の下にあるが、同じ notification_made の下にはない 29 の Userid が必要です。

助けてください !

前もって感謝します。

4

1 に答える 1

1

3つのパラメーター(2つのユーザー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
于 2012-07-23T08:55:02.617 に答える