Reputation: 1800
I have a database and I am executing a query:
select * from
Exams LEFT OUTER JOIN Test on Test.tExamID = Exams.eID
LEFT OUTER JOIN Test on Users.userID = Test.tUserID
But I got an error ambiguous column name main.Test.tID
. Have you ever seen that before? Please help me to figure out what happen.
My database below:
CREATE TABLE [Exams] (
[eID] INTEGER NOT NULL PRIMARY KEY,
[eType] INTEGER NOT NULL,
[eLevel] INTEGER NOT NULL,
[eTime] INTEGER,
[eNote] CHAR);
CREATE TABLE [Users] (
[userID] TEXT NOT NULL,
[userPassword] TEXT NOT NULL);
CREATE UNIQUE INDEX [userID] ON [Users] ([userID]);
CREATE TABLE [Test] (
[tID] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
[tUserID] TEXT NOT NULL REFERENCES [Users]([userID]),
[tExamID] INTEGER NOT NULL REFERENCES [Exams]([eID]),
[tDate] DATE NOT NULL,
[tScore] INTEGER NOT NULL,
[tNote] CHAR NOT NULL);
Upvotes: 3
Views: 1181
Reputation: 14710
You probably introduced a typo ... you probably wanted to have:
select * from
Exams LEFT OUTER JOIN Test on Test.tExamID = Exams.eID
LEFT OUTER JOIN Users on Users.userID = Test.tUserID
Upvotes: 3