从同一个表而不是ref获取名称(与id相同的列)

时间:2017-09-13 07:50:24

标签: sql

我有" tbl_students" id,name,referenced_by_id

id  name   referred_by_id
1   test1  2
2   test2  1
3   test3  1

referenced_by_id只有id值, 当我检索第二条记录时

2 test2 1

但我想要

2 test2 1 test1 (refname )

我该怎么做?

1 个答案:

答案 0 :(得分:1)

正如你所说:

  

referenced_by_id只有id值,当我检索第二条记录时

     

2 test2 2

但您提供的表格中的第二个记录为2 test2 1

假设这是一个拼写错误,你还需要像2 test2 1 test1 (refname)这样的输出。这是一个简单的查询,可能会得到你想要的:

SELECT t1.*, t2.name AS refname 
FROM tbl_students t1 
JOIN tbl_students t2 
   ON t1.referred_by_id = t2.id
ORDER BY t1.id

MySQL Fiddle 对于PostgreSQL Fiddle

如果这不是你想要的,请告诉你。