mysql - MySQL 中有趣的带条件查询

标签 mysql sql database

问题如下:

管理层想知道哪些特定飞机始终被分配到同一个机库批处理(每架飞机只被分配到一个批处理一年,然后根据要求更新。但更新时该批处理可能是也可能不是同一批处理) ;批处理表的 pk 是注册号和分配日期。列出飞机注册号、机库位置、机库容量。每架飞机只能在您的报告中出现一次。

这是手数表:

lot_nbr, hangar_nbr, reg_nbr, date_assigned

'7706', '1', '505', '2011-07-17'
'7707', '1', '505', '2012-07-18'
'7708', '1', '505', '2013-12-22'
'8801', '2', '101', '2011-01-22'
'8802', '2', '101', '2012-01-22'
'8803', '2', '303', '2011-01-10'
'8803', '2', '202', '2011-04-12'
'8803', '2', '202', '2012-04-12'
'9902', '3', '303', '2012-01-10'
'9904', '3', '404', '2011-01-10'
'9905', '3', '404', '2012-01-10'

这是机库表:

hangar_nbr, location, capacity, manager_nbr

'1', 'South RW', '24', '902'
'2', 'North RW', '12', '902'
'3', 'West RW', '25', '902'

这是飞机表:(可能需要)

reg_nbr, plane_type, manufacturer, resident, date_service
'101', 'SE', 'Prop', 'Lear', '1', '1998-12-01'
'202', 'DE Prop', 'Cessna', '1','1999-11-22'
'303', 'SE Jet', 'Bombardier', '1', '2000-07-06'
'404','ME Jet', 'Lear', '1', '2001-02-24'
'505', 'SE Prop', 'Cessna', '0','2003-12-01'
'606', 'DE Prop', 'Bombardier', '1', '2004-11-22'
'707','SE Jet', 'Lear', '1', '2005-07-06'
'808', 'ME Jet', 'Cessna', '0','2005-02-24'
'909', 'SE Prop', 'Bombardier', '1', '2002-02-12'

我想要的查询(准确):

reg_nbr, location, capacity
'202', 'North RW', '12'

这是我尝试过的:

SELECT lots.reg_nbr, location, capacity 
FROM hangar, lots 
WHERE lots.hangar_nbr = hangar.hangar_nbr AND reg_nbr='202'
GROUP BY lots.reg_nbr    

我的问题:

如上所示,我想用 reg_nbr '202' 显示飞机在我的结果中,因为它是唯一每次都分配相同的lot_nbr的飞机,但不幸的是我的方式就是写reg_nbr ='202' in WHERE 子句不是查询应该完成的方式。我想展示如何通过真实且合法的查询获得此结果。非常感谢您的努力。

最佳答案

SELECT reg_nbr
FROM lots
GROUP BY reg_nbr
HAVING COUNT(DISTINCT lot_nbr) = 1

关于mysql - MySQL 中有趣的带条件查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37502372/

相关文章:

php - mysql/php : Update multiple rows

mysql - 合并和添加相似的结果

sql - 使用 db2 9.X 数据库、java 8 和 hibernate 4.3.8 时控制台日志中出现 spi.SqlExceptionHelper 警告

mysql - 如何通过终端在mysql中连续上传文件的全文

php - 使用 PHP 从具有多个条目的多个表中查询 MySQL 数据

mySQL 数据库结构代表一个用户关注另一个用户?

java - OpenJPA 合并/持久化非常慢

php - 如何合并两个结果?

mysql - Hibernate 查询比较日期(最多过去 10 个月)

sql - 我们可以在 C 程序的 SQL 选择查询中使用动态变量吗?