gpt4 book ai didi

sql - 如何确定 2 个独立实体是否存在一行

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

我是 SQL 新手。我有一个无法获得结果的查询。

从下表中,我需要列出执行“ Apollo ”和“航天飞机”任务(项目名称)的宇航员 (astrno)。

projectname  | missionno | astrono |  role
--------------+-----------+---------+----------------------
Apollo | 1 | 22 | Commander
Apollo | 1 | 42 | Command Module Pilot
Apollo | 1 | 10 | Lunar Module Pilot
Apollo | 7 | 33 | Commander
Apollo | 7 | 16 | Command Module Pilot
Apollo | 7 | 14 | Lunar Module Pilot
Apollo | 8 | 5 | Commander
Apollo | 8 | 27 | Command Module Pilot
Apollo | 8 | 2 | Lunar Module Pilot
Apollo | 9 | 29 | Commander
Apollo | 9 | 36 | Command Module Pilot
Apollo | 9 | 35 | Lunar Module Pilot
Apollo | 10 | 39 | Commander
Apollo | 10 | 44 | Command Module Pilot
Apollo | 10 | 9 | Lunar Module Pilot
Apollo | 11 | 3 | Commander
Apollo | 11 | 11 | Command Module Pilot
Apollo | 11 | 1 | Lunar Module Pilot
Apollo | 12 | 12 | Commander
Apollo | 12 | 21 | Command Module Pilot
Apollo | 12 | 4 | Lunar Module Pilot
Apollo | 13 | 27 | Commander
Apollo | 13 | 40 | Command Module Pilot
Apollo | 13 | 23 | Lunar Module Pilot
Apollo | 14 | 37 | Commander
Apollo | 14 | 32 | Command Module Pilot
Apollo | 14 | 30 | Lunar Module Pilot
Apollo | 15 | 43 | Command Module Pilot
Apollo | 15 | 24 | Lunar Module Pilot
Apollo | 16 | 44 | Commander
Apollo | 16 | 28 | Command Module Pilot
Apollo | 16 | 15 | Lunar Module Pilot
Apollo | 17 | 9 | Commander
Apollo | 17 | 17 | Command Module Pilot
Apollo | 17 | 34 | Lunar Module Pilot
Skylab | 2 | 12 | Commander
Skylab | 2 | 41 | Pilot
Skylab | 2 | 25 | Scientist
Skylab | 3 | 4 | Commander
Skylab | 3 | 26 | Pilot
Skylab | 3 | 18 | Scientist
Skylab | 4 | 8 | Commander
Skylab | 4 | 31 | Pilot
Skylab | 4 | 19 | Scientist
Apollo-Soyuz | 1 | 39 | Commander
Apollo-Soyuz | 1 | 6 | Command Module Pilot
Apollo-Soyuz | 1 | 38 | Docking Module Pilot
Shuttle | STS-1 | 44 | Commander
Shuttle | STS-1 | 119 | Pilot
Shuttle | STS-2 | 138 | Commander
Shuttle | STS-2 | 408 | Pilot
Shuttle | STS-3 | 25 | Commander
Shuttle | STS-3 | 156 | Pilot
Shuttle | STS-4 | 28 | Commander
Shuttle | STS-4 | 191 | Pilot
Shuttle | STS-5 | 6 | Commander
Shuttle | STS-5 | 309 | Pilot
Shuttle | STS-5 | 53 | Mission Specialist
Shuttle | STS-5 | 245 | Mission Specialist

任何帮助都会很棒。

谢谢。

最佳答案

一种选择是对每个宇航员的记录使用条件聚合:

SELECT astrono
FROM yourTable
GROUP BY astrono
HAVING SUM(CASE WHEN projectname = 'Apollo' THEN 1 ELSE 0 END) > 0 AND
SUM(CASE WHEN projectname = 'Shuttle' THEN 1 ELSE 0 END) > 0

关于sql - 如何确定 2 个独立实体是否存在一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39629516/

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