我有 3 个表,我试图从中提取信息。示例数据如下所示
TABLE Trip
idTrip Title Date
1 Ben Lomond 08-08-2016
TABLE Person_has_trip
Trip_idTrip Person_idPerson
1 1
1 2
TABLE Person
idPerson Forename Surname
1 David Jack
2 Colin McAlpine
我正在尝试获取每次旅行的名称以及参加该旅行的每个人的姓名。单独的查询看起来像这样
1. SELECT idTrip, title, Date from Trip
2. SELECT Person_idPerson from Person_has_Trip where Trip_idTrip = $idTrip
3. SELECT forename, surname from person where idPerson = $idPerson
有没有办法可以结合这三个查询?我以为我有一个可行的解决方案,但今天发现它丢失了一些数据。
我认为有效但无效的查询如下
select trip.idTrip, trip.title, trip.date, Person_has_Trip.Person_idPerson, person.forename, person.surname
from trip
inner join
Person_has_Trip
on trip.idTrip = Person_has_Trip.trip_idTrip
inner join
person
on Person_has_Trip.Person_idPerson = person.idPerson
ORDER BY trip.date
任何建议都会很棒。我目前正在学习 SQL,所以一些更高级的功能,比如连接,目前有点超出我的想象。
当我说它不起作用时,它并没有显示我期望的所有数据。它显示一些,但不是全部。