gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-30 20:08:31 25 4
gpt4 key购买 nike

这里是问题:

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

这是很多表:

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/

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