2つのテーブルからクエリを作成する必要があるため、たとえば、「学生」テーブルのテーブル構造は次のとおりです。
-------------------------------------------
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
---------------------------
Student テーブルのレコードを選択し、"mom_job_id" と "dad_job_id" を "job テーブル" の job_name に置き換えたい
私はこのクエリを試しました:
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 にあると思います