gpt4 book ai didi

SQL查询可以从成分集合中制作的食谱

转载 作者:太空狗 更新时间:2023-10-30 01:55:35 26 4
gpt4 key购买 nike

我有一个数据库,其中有一张成分表 I 和一张食谱 R 表。这两个表具有多对多关系,因为一个食谱使用多种成分,而一种成分用于许多食谱。我有第三个交叉引用表,它使用 cross-reference validation pattern强制执行我的多对多关系,并使用字符串外键(而不是整数)完成。

假设我在我的数据库之外有一个配料集合 C,我如何查询配方表 R 以获取可以仅使用 C 中提供的配料列表制作的每个配方?

其他需要考虑的事情

1) 速度(当然)最终会成为一个问题,但正确性是我目前所坚持的。

2) 配料 C 的集合可能非常大(约 100 种配料)。

任何答案,甚至只是正确方向的指示,我们都将不胜感激。

谢谢,

亚力克

最佳答案

一种方法是这样写:

select ...
from R
where ID not in
( select R_ID
from RI
where I_ID not in
( select I_ID
from C
)
)
;

即:从C开始。在 C 中选择成分的所有配方-成分交叉引用。这为您提供了仅使用 C 中的成分不能制作的所有食谱集。然后,选择不在该集合中的所有食谱。

关于SQL查询可以从成分集合中制作的食谱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11658700/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com