具有3个表的SQLite3内部联接

具有3个表的SQLite3内部联接,sql,sqlite,inner-join,Sql,Sqlite,Inner Join,我尝试从3个具有内部联接的表中进行选择: 各表: CREATE TABLE tracks ( 'track_id' INTEGER PRIMARY KEY NOT NULL, 'name' TEXT NOT NULL, 'length' REAL DEFAULT '0.00', 'city' TEXT ); CREATE TABLE heats ( 'heat_id' INTEGER PRIMARY KEY NOT NULL, 'track_id' INTEGER UNSIGNED NOT N

我尝试从3个具有内部联接的表中进行选择:

各表:

CREATE TABLE tracks (
'track_id' INTEGER PRIMARY KEY NOT NULL,
'name' TEXT NOT NULL,
'length' REAL DEFAULT '0.00',
'city' TEXT
);

CREATE TABLE heats (
'heat_id' INTEGER PRIMARY KEY NOT NULL,
'track_id' INTEGER UNSIGNED NOT NULL,
'heat_pos' INTEGER UNSIGNED NOT NULL,
'day_pos' INTEGER UNSIGNED NOT NULL,
'type' TEXT NOT NULL DEFAULT 'training',
'average' REAL,
'date' TEXT,
'comment' TEXT,
FOREIGN KEY ('track_id') REFERENCES tracks ('track_id')
);

CREATE TABLE laps (
'lap_id' INTEGER PRIMARY KEY NOT NULL,
'heat_id' INTEGER UNSIGNED NOT NULL,
'laptime' REAL UNSIGNED NOT NULL,
FOREIGN KEY ('heat_id') REFERENCES heats ('heat_id')
);
从两个表(圈数和热度)中选择信息时,其工作原理与我预期的一样:

select 
laps.lap_id, 
laps.laptime,
heats.heat_pos
from laps
inner join heats on laps.heat_id = heats.heat_id;
但现在我想从轨迹表中选择相应的轨迹名:

select 
laps.lap_id, 
laps.laptime,
heats.heat_pos,
tracks.name
from laps, tracks, heats
inner join heats on laps.heat_id = heats.heat_id and
inner join heats on tracks.track_id = heats.track_id;
这给了我以下错误:

不明确的列名:heats.heat\u pos

我完全迷路了,但我觉得这只是一个小错误。
有人知道我做错了什么吗?

谢谢,这正是我想要的。谢天谢地,我离这里不远:)
错误:模棱两可的列名:heats.heat\u pos
select 
laps.lap_id, 
laps.laptime,
heats.heat_pos,
tracks.name
from laps
inner join heats on laps.heat_id = heats.heat_id 
inner join tracks on tracks.track_id = heats.track_id;
select 
laps.lap_id, 
laps.laptime,
heats.heat_pos,
tracks.name
from laps
inner join heats on laps.heat_id = heats.heat_id
inner join heats on tracks.track_id = heats.track_id
ORDER BY laps.lap_id