我必須從兩個表進行查詢,因此,例如這裏是我的表結構爲「學生」表:多個SQL JOIN語句
-------------------------------------------
id | Name | mom_job_id | dad_job_id
-------------------------------------------
1 | Test1 | 1 | 2
2 | Test2 | 3 | 1
-------------------------------------------
,我有「工作」表是這樣的:
---------------------------
id | job_name
---------------------------
1 | designer
2 | writer
3 | programmer
---------------------------
我要選擇對學生的表中的記錄,並與JOB_NAME更換「工作表」
我已經試過此查詢「mom_job_id」和「dad_job_id」:
SELECT student.id, job.job_name as mom_job, job.job_name as dad_job
FROM student
INNER JOIN job ON mom_job_id = job.id
WHERE id=1
該查詢做工精細,但爸爸的工作被設置爲相同的媽媽的工作,所以我再添INNER JOIN,使查詢,像這樣:
SELECT student.id, job.job_name as mom_job, job.job_name as dad_job
FROM student
INNER JOIN job ON mom_job_id = job.id
INNER JOIN job ON dad_job_id = job.id
WHERE id=1
的查詢工作,但沒有返回任何記錄。那麼我該如何解決這個問題?我相信問題來自job.id
你怎麼沒有得到一個模棱兩可你的where子句出現列錯誤? – RandomUs1r 2013-05-10 15:28:10