私はPostgreSQLを使用しています。人、レシピ、材料の3つのフィールドを持つテーブルがあります
person = creator of the recipe
recipe = the recipe
ingredient = one of the ingredients in the recipe
人参をレシピに追加したときはいつでも、その人は同じレシピに塩も追加したに違いないという結果になるクエリを作成したいと考えています。
複数の人がレシピを作成した可能性があります。その場合、材料を追加した人が材料を追加したことでクレジットされます。同じ人でも、その成分が複数回使用されることがあります。
このテーブルの場合:
person1, rec1, carrot
person1, rec1, salt
person1, rec1, salt
person1, rec2, salt
person1, rec2, pepper
person2, rec1, carrot
person2, rec1, salt
person2, rec2, carrot
person2, rec2, pepper
person3, rec1, sugar
person3, rec1, carrot
次に、この結果が必要です: person1
にんじんを加えるたびに塩も加えているのはこの人だけだからです。
「結果に影響を与えるのはニンジンだけです。レシピの 1 つに少なくとも 1 つのニンジンを追加した人のみが必要ですが、追加した同じレシピのすべてに塩を追加していない人は望んでいません。ニンジンと.申し訳ありませんが、それ以上明確に説明することはできません.