是否有更有效的查询来检查自连接中的多个条件?
Is there a more efficient query to check multiple conditions in a self-join?
问题是找到一个所有三种交通方式都发生过的状态。因此,在 table 列出不同的旅行详细信息中 - 您想要 return 一个具有汽车旅行、飞机旅行和火车旅行的 TripID。以下是我当前的查询
我的问题 - 虽然这回答了问题,但在自连接的范围内是否有更简洁的方式来编写它?我觉得嵌套子查询只会过度补偿,但这感觉就像它回答了我当前的问题,但在更大的数据库搜索中会很混乱。
The question is to find a state in which all three modes of transportation have taken place in.
只需使用聚合:
SELECT T.TripState
FROM TRIP T
WHERE T.TravelMode IN ('Train', 'Plane', 'Car')
GROUP BY T.TripState
HAVING COUNT(DISTINCT T.TravelMode) = 3;
问题是找到一个所有三种交通方式都发生过的状态。因此,在 table 列出不同的旅行详细信息中 - 您想要 return 一个具有汽车旅行、飞机旅行和火车旅行的 TripID。以下是我当前的查询
我的问题 - 虽然这回答了问题,但在自连接的范围内是否有更简洁的方式来编写它?我觉得嵌套子查询只会过度补偿,但这感觉就像它回答了我当前的问题,但在更大的数据库搜索中会很混乱。
The question is to find a state in which all three modes of transportation have taken place in.
只需使用聚合:
SELECT T.TripState
FROM TRIP T
WHERE T.TravelMode IN ('Train', 'Plane', 'Car')
GROUP BY T.TripState
HAVING COUNT(DISTINCT T.TravelMode) = 3;