MySQL加入两个与其id匹配的表

Man*_*nan 3 php mysql sql

我有这两个表:

表一:用户

id   name   home_location    job_location
1    Jack   40               5
2    Rocky  50               4  
3    Tom    24               9
Run Code Online (Sandbox Code Playgroud)

表二:面积

area_id    area_name
5          Bukit Batok
4          Bukit Panjang
9          Boon Lay
40         Pioneer
50         Choa Chu Kang
24         Clementi
Run Code Online (Sandbox Code Playgroud)

我想要这样的结果:

ID    name    home_location   job_location
1     Jack    Pioneer         Bukit Batok
2     Rocky   Choa Chu Kang   Bukit Panjang
3     Tom     Clementi        Boon Lay
Run Code Online (Sandbox Code Playgroud)

由于我在sql查询中不好,所以如何编写select查询.任何想法或建议?谢谢.

Gau*_*164 5

试试吧

SELECT id as ID,
             name,
             area_1.area_name as home_location,
             area_2.area_name as job_location,
             area_1.area_id as home_location_id,
             area_2.area_id as job_location_id   
FROM user 
INNER JOIN 
      area AS area_1 
           ON area_1.area_id = user.home_location
INNER JOIN 
      area AS area_2
           ON area_2.area_id = user.job_location
Run Code Online (Sandbox Code Playgroud)

并尝试避免mysql_*由于整个ext/mysql PHP扩展而导致的语句,该扩展提供了以前缀命名的所有函数mysql_*,将来PHP v5.5.0会被正式弃用并将被删除.

还有两个其他MySQL扩展可以更好地使用:MySQLi并且PDO_MySQL,可以使用其中任何一个而不是ext/mysql.