【发布时间】:2021-04-25 00:54:43
【问题描述】:
问题是找到所有三种交通方式都发生在其中的州。因此,在列出不同旅行详细信息的表格中 - 您想要返回具有汽车旅行、飞机旅行的 TripID 的状态,和火车。以下是我当前的查询
我的问题 - 虽然这回答了问题,但在自加入的范围内是否有更简洁的方式来编写它?我觉得嵌套子查询只会过度补偿,但这感觉就像它回答了我当前的问题,但在更大的数据库搜索中会很混乱。
【问题讨论】:
问题是找到所有三种交通方式都发生在其中的州。因此,在列出不同旅行详细信息的表格中 - 您想要返回具有汽车旅行、飞机旅行的 TripID 的状态,和火车。以下是我当前的查询
我的问题 - 虽然这回答了问题,但在自加入的范围内是否有更简洁的方式来编写它?我觉得嵌套子查询只会过度补偿,但这感觉就像它回答了我当前的问题,但在更大的数据库搜索中会很混乱。
【问题讨论】:
问题是找到所有三种交通方式都发生的状态。
只使用聚合:
SELECT T.TripState
FROM TRIP T
WHERE T.TravelMode IN ('Train', 'Plane', 'Car')
GROUP BY T.TripState
HAVING COUNT(DISTINCT T.TravelMode) = 3;
【讨论】: