ウェブサイトのタグ付けシステムを実装しています。オブジェクトごとに複数のタグがあり、タグごとに複数のオブジェクトがあります。これは、レコードごとに 2 つの値を持つテーブルを維持することによって実現されます。1 つはオブジェクトの ID とタグです。
特定のタグのセットに一致するオブジェクトを見つけるためのクエリを作成しようとしています。次のデータがあるとします ([オブジェクト] -> [タグ]* 形式)
apple -> fruit red food
banana -> fruit yellow food
cheese -> yellow food
firetruck -> vehicle red
(赤) を合わせたい場合は、リンゴと消防車を入手する必要があります。(果物、食べ物) を一致させたい場合は、(リンゴ、バナナ) を取得する必要があります。
やりたいことを実行する SQL クエリを作成するにはどうすればよいですか?
@ジェレミー・ルーテン、
ご回答有難うございます。使用された表記は、いくつかのサンプル データを提供するために使用されました。私のデータベースには、レコードごとに 1 つのオブジェクト ID と 1 つのタグを持つテーブルがあります。
第二に、私の問題は、すべてのタグに一致するすべてのオブジェクトを取得する必要があることです。OR を AND に置き換えると、次のようになります。
SELECT object WHERE tag = 'fruit' AND tag = 'food';
実行しても結果は得られません。