1
私はタグのみ(「りんご」、「梨」を持っているのIDを照会したいのIDとタグ配列が正確に
id | tags
1 | apples
1 | pears
2 | apples
2 | pears
2 | oranges
3 | apples
3 | pears
3 | oranges
3 | lemons
のテーブルを持っていると言うことができます一致するタグ付きのIDのみを選択して、オレンジ')。 だからこの場合、所望の出力は、他の同様の記事を読んだ後にのみID 2.
ですが、私はMySQLで、次のクエリステートメント試してみました:
SELECT
id
FROM table
WHERE tags IN ('apples', 'pears', 'oranges')
GROUP BY id
HAVING COUNT(DISTINCT tags)=3;
をしかし、これは、両方のID 2 & 3を返し、私は私の場合、ID2だけを望んでいます。
を - =>' HAVING COUNT(タグで(...) 3 .. 'CASE'の必要はありませんが、+1。 – sagi
IDが2つのリンゴ、ナシ、オレンジを持っている場合は – jarlh
@jarlhです。この場合、DISTINCTを追加する必要があります。 –