多表sql查询

时间:2011-05-07 12:40:49

标签: sql

我需要为学校的项目创建一个包含多个表的查询,但我并不擅长这个。

我有两张桌子。

第一个是带有轨迹的表:

departure_time (time)
arrival_time (time)
departure_id (int)
arrival_id (int)

第二个表格包含位置的名称:

location_id (int)
name (varchar)

我需要一个获取departure_timearrival_time以及departure placearrival place的名称的查询。

3 个答案:

答案 0 :(得分:2)

使用内部联接;

select
  departure_time,
  arrival_time,
  depart.name,
  arrive.name
from trajects 
  inner join locations depart on (depart.location_id = trajects.departure_id)
  inner join locations arrive on (arrive.location_id = trajects.arrival_id)

答案 1 :(得分:1)

SELECT 
  t.departure_time, 
  t.arrival_time, 
  d.name as 'DeparturePlace', 
  a.name as 'ArrivalPlace'
FROM 
  Trajects t, Locations d, Locations a 
WHERE 
  t.departure_id = d.location_id AND 
  t.arrival_id = a.location_id

答案 2 :(得分:0)

您需要做的是在departure_id上​​的SQL JOIN和在第二个表上的arrival_id。详情和示例here