私のMySQLデータベースには、次のように2つの列が設定されています(例):
series_id category_id
1 1
1 2
1 3
2 1
2 3
3 2
4 1
4 2
category_id = 1 および 2 の場合に series_id を選択するために使用できる適切な選択クエリは何ですか?
現在のクエリは次のとおりです。
SELECT series_id
FROM table
WHERE category_id = '1'
OR category_id = '2'
GROUP BY series_id"
これは結果を取得しません。
SELECT series_id
FROM table
WHERE category_id = '1'
AND category_id = '2'
GROUP BY series_id
この例に関しては、series_id が 1 と 2 の 2 つの行を返すようにしたいので、結果は次のようになります。
series_id
1
4
(オプション/ボーナス)別の解決策を考え出すか、利用できる場合:
GROUP_CONCAT(category_id SEPARATOR ', ') AS category
このクエリから返された series_id に対して、返される結果は次のようになります。
series_id category
1 1, 2, 3
4 1, 2