我有一个包含三个表的数据库,与外键相关:
行程:
| 身份证| 号码| 日期| ------------------
天:
| 身份证| 行程ID| 日期| 开始| 结束| ------------------------------
腿:
| 身份证| 日期ID| 产地| 目的地| --------------------------------
我使用以下联接从该数据库中获取数据:
SELECT * FOM Trips t JOIN Days d
ON t.Id = d.TripId
JOIN Legs l
ON d.Id = l.DayId
WHERE t.Id = tripId
它返回一个结果,其中包含与查询的行程相关的每条腿的一行,如下所示:
| 旅行.ID| 行程数| 行程.日期| 天数.ID| 天数.TripID| 天.日期| 天.开始| 天。结束| 腿.ID| Legs.DayID| 腿.产地| 腿.目的地| -------------------------------------------------- -------------------------------------------------- ---------------------------------------------
这适用于特定的行程 ID,但假设我运行一个返回多个行程的查询,例如
SELECT * FROM Trips t JOIN Days d ON t.ID = d.TripID 加入腿 l ON d.Id = l.DayId WHERE d.Date > 日期
如何将上述查询的结果限制为单次行程,但仍获得与该行程关联的所有行?