gpt4 book ai didi

MySQL关系部门

转载 作者:行者123 更新时间:2023-11-29 01:41:29 25 4
gpt4 key购买 nike

我在做一个练习时遇到困难:

有一家餐厅为哪些人提供他们最喜欢的啤酒。

(是的,我们学校确实有这个 :D)

我有 2 个可以使用的表:

  • 表 1:最喜欢的啤酒(名字、姓氏、啤酒名称)
  • 表 2:OnStock(啤酒名称、餐厅、数量)

我的解决方案是:OnStock % Favoritebeer

MySQL 中没有 DIVISION 这样的东西。有什么想法可以解决吗?我在维基百科上找到了以下内容:http://en.wikipedia.org/wiki/Relational_algebra#Division_.28.C3.B7.29这正是我所需要的,但我很难将其翻译成 SQL。

编辑:

此处示例数据:http://www.sqlfiddle.com/#!2/34e00

结果应该是:

Bucher Rolf
Mastroyanni Pepe
Meier Hans
Meier Hanspeter
Meier Hansruedi
Müller Heinrich
Peters Peter
Zarro Darween

最佳答案

试一试:

SELECT DISTINCT fb1.name, fb1.surname FROM favoriteBeer fb1
JOIN stock s ON fb1.beerName = s.beerName
GROUP BY fb1.name, fb1.surname, s.restaurant
HAVING COUNT(*) = (
SELECT COUNT(*) FROM favoriteBeer fb2
WHERE fb1.name = fb2.name AND fb1.surname = fb2.surname
)

输出:

|        NAME |   SURNAME |
|-------------|-----------|
| Bucher | Rolf |
| Mastroyanni | Pepe |
| Meier | Hans |
| Meier | Hanspeter |
| Meier | Hansruedi |
| Müller | Heinrich |
| Peters | Peter |
| Zarro | Darween |

fiddle here .

关于MySQL关系部门,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20302581/

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