我遇到了一个让我疯狂的查询的麻烦。
我有一个表,其中包含一些字段,这些字段是我数据库中其他表的id。 我想做的是获取每条记录的输出以及每个id的相应数据。
我会试着举个例子:
带有ID的表:
用户名|排名|国籍|城市
usr_1 1 1234 123
每个列的表格,其中一个id就是实际名称。
我想用实际名称替换id,因为如果我保留数字,php页面上的输出将“不可读”。
提前致谢。
答案 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