如何从id的其他表中获取数据

时间:2014-08-13 21:31:47

标签: mysql sql

我遇到了一个让我疯狂的查询的麻烦。

我有一个表,其中包含一些字段,这些字段是我数据库中其他表的id。 我想做的是获取每条记录的输出以及每个id的相应数据。

我会试着举个例子:

带有ID的表:

用户名|排名|国籍|城市
usr_1 1 1234 123

每个列的表格,其中一个id就是实际名称。

我想用实际名称替换id,因为如果我保留数字,php页面上的输出将“不可读”。

提前致谢。

2 个答案:

答案 0 :(得分:0)

通常通过与其他表连接来获取此信息:

SELECT
    u.username,
    u.rank
    n.nationality,
    c.city
FROM
    your_table u
INNER JOIN
    nations n
ON
    u.nationality = n.id
INNER JOIN
    cities c
ON
    u.city = c.id

左右。我不知道你的表和列的名字,但原则应该是明确的。

答案 1 :(得分:-1)

您可以执行嵌套查询。您放在帖子中的表格在我这里称为 userdetails

这样的事情:

SELECT   
 (SELECT name FROM users WHERE id = u.username),   
 (SELECT rank_name FROM ranks WHERE id = u.rank),   
 (SELECT nationality_name FROM nationalities WHERE id = u.nationality),   
 (SELECT city_name FROM cities WHERE id = u.city) 
FROM userdetails u