つまり「tblarchitectの全データ」+「areaidに対応したareaname」+「expertiseid1に対応したexpertisename」+「expertiseid2に対応したexpertisename」+「expertiseid3に対応したexpertisename」+「expertiseid4に対応したexpertisename」というように出力したいです。
SELECT tblarchitect.*, area
FROM tblarchitect
RIGHT JOIN tblarea
ON tblarchitect.areaid = tblarea.areaid
ORDER BY no DESC;
テーブル構造
tblexpertise
+---------------+
| Field |
+---------------+
| expertiseid |
| expertisename |
+---------------+
tblarea;
+----------+
| Field |
+----------+
| areaid |
| areaname |
+----------+
tblarchitect;
+-----------------+
| Field |
+-----------------+
| no |
| name |
| rname |
| posision |
| zip |
| address |
| tel |
| fax |
| url |
| mail |
| areaid |
| info |
| expertiseid1 |
| expertiseid2 |
| expertiseid3 |
| expertiseid4 |
| photofilename |
| prphotofilename |
| regdate |
+-----------------+
http://dev.mysql.com/doc/refman/4.1/ja/join.html
そのまますべて JOIN していくだけでいいです。
SELECT arc.*, area, exp1.expertisename, exp2.expertisename, exp3.expertisename, exp4.expertisename, FROM tblarchitect AS arc RIGHT JOIN tblarea USING ( areaid ) LEFT JOIN tblexpertise as exp1 ON arc.expertiseid1 = exp1.expertiseid LEFT JOIN tblexpertise as exp2 ON arc.expertiseid1 = exp2.expertiseid LEFT JOIN tblexpertise as exp3 ON arc.expertiseid1 = exp3.expertiseid LEFT JOIN tblexpertise as exp4 ON arc.expertiseid1 = exp4.expertiseid ORDER BY no DESC;
上手くいきました。ありがとうございました。