首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL健身房,每个区的员工较少

SQL健身房,每个区的员工较少
EN

Stack Overflow用户
提问于 2012-12-13 06:26:08
回答 1查看 177关注 0票数 1

我正在努力寻找如何对本地数据库中的一组表进行特定查询。

代码语言:javascript
运行
复制
CREATE TABLE Gym (
eid INT PRIMARY KEY,
name VARCHAR(127) UNIQUE,
district VARCHAR(127),
area INT);

CREATE TABLE Trainer (
id INT PRIMARY KEY,
name VARCHAR(127),
birth_year INT,
year_credentials_expiry INT
);

CREATE TABLE Works (
eid INT,
id INT,
since INT,
FOREIGN KEY (eid) REFERENCES Gym (eid),
FOREIGN KEY (id) REFERENCES Trainer (id),
PRIMARY KEY (eid,id));

问题如下:我有几个健身房,有些情况下,两个或更多的健身房位于同一地区。我怎么知道,按地区划分,哪个健身房的教练较少?我唯一想得到的就是每家健身房的教练数量。考虑到这一点,我只能得到来自所有地区的最少教练的健身房...

注意:我不允许使用子查询(SELECT中的SELECT;SELECT中的FROM)

提前谢谢你。

EN

回答 1

Stack Overflow用户

发布于 2012-12-13 06:41:19

如果您可以在wherehaving子句中使用子查询,那么您可以这样处理它。

首先看一下您的查询,该查询按地区计算培训师的数量。

现在,编写一个查询(使用它作为子查询)来计算一个地区的健身房中的最小教练数量。

接下来,获取您的第一个查询,添加一个having子句,并按地区和训练器数量将其与第二个相关联。

这在子查询中使用子查询,但它在having子句中。我不会为您编写查询,因为您需要学习如何自己编写查询。

顺便说一句,如果你有窗口/解析函数,可能还有其他的解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13849781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档