我正在使用 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
因为这个人是唯一一个什么时候加胡萝卜也加盐的人。
“只有胡萝卜会影响结果。我只想要那些在他们的食谱中添加了至少一根胡萝卜的人,但我不想要那些没有在他们添加的所有相同食谱中添加盐的人胡萝卜。对不起,但我无法比这更清楚地解释它。