3

2列の次のデータベースがあります。

posts id    category id
1           2
2           1
1           3
3           3
3           2
4           5

カテゴリ2および3にあるすべての投稿IDを抽出するときに、次のことを意味するクエリが必要です:IDが1および3の投稿。

4

2 に答える 2

5

カテゴリ 2 と 3 にあるすべての投稿 ID を選択するには:

SELECT posts_id
FROM posts
WHERE categoryId IN (2, 3)
GROUP BY posts_id
HAVING COUNT(distinct categoryId) = 2;

category_id = 5のみに関連付けられており、他には関連付けられていない投稿 ID のみを選択するには:

SELECT posts_id
FROM posts
GROUP BY posts_id
HAVING SUM(categoryId <> 5) = 0;
于 2012-12-03T15:04:02.680 に答える
0
SELECT post_id, category_id
FROM posts
WHERE category_id IN (2, 3)
GROUP BY post_id
ORDER BY category_id;
于 2012-12-03T15:26:18.823 に答える