gpt4 book ai didi

php - 如果列中的所有行都为真,则返回真

转载 作者:行者123 更新时间:2023-11-29 02:27:43 24 4
gpt4 key购买 nike

我有一个新爱好,叫做“把味道不好的利口酒变成好东西”,也就是“混合鸡尾酒”。

因为我是一个 Nerd ,所以我不想在书中查找食谱、阅读配料表并注​​意到我缺少一些东西。相反,我想要一个数据库,其中包含我收集的所有食谱和配料,让计算机告诉我可以用我目前在家拥有的配料“制作”哪些食谱。为此,我有这两个表:

表 1:包含有关多对多关系的信息

recipe | ingredient
1 | 1
1 | 2
1 | 3
2 | 1
2 | 4

表2:该成分是否可用的信息

ingredient | available
1 | true
2 | true
3 | true
4 | false

所有其他表对我的问题都不感兴趣。

这两个表可以很容易地通过 ingredient = ingredients.id INNER JOIN 编辑到一个看起来像这样的大表:

recipe | ingredient | available
1 | 1 | true
1 | 2 | true
1 | 3 | true
2 | 1 | true
2 | 4 | false

如果你看一下这个,你会注意到我可以混合配方 1,但不能混合配方 2,因为缺少一种成分。

我现在想做的是想办法让结果看起来像这样:

recipe | all_available
1 | true
2 | false

我已经找到了一种方法来检查某个食谱的所有成分是否可用:

SELECT RtI.recipe, BIT_AND(ingredients.available) AS all_available
FROM RtI
INNER JOIN ingredients ON (ingredients.id = RtI.ingredient)
WHERE RtI.recipe = 1

哪些结果:

recipe | all_available
1 | true

但是你必须搜索一个特定的 ID,我想要的不是“告诉我这个食谱是否有所有配料”,而是“显示所有配料可用的所有食谱”。

有没有办法仅通过使用 MySQL 查询来实现这一点?

最佳答案

删除 WHERE 条件并改为使用 GROUP BY RtI.recipe

关于php - 如果列中的所有行都为真,则返回真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18619663/

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