对这个含糊不清的标题表示歉意......我甚至很难总结我想要做的事情。我怀疑它是一个非常基本的SQL函数,但我缺乏技术词汇。
我有一个包含三个字段的表:person_id(number),person_name(string),best_friend_id(number)。
一些样本记录可能是:(1," John",2)和(2," Mary",3)。这些样本记录表明Person 1是John,其最好的朋友是Person 2;并且,第2人是玛丽,其最好的朋友是身份3的其他人。
是否可以为MySQL数据库编写一个SELECT语句,该语句将显示该人的姓名以及表中每条记录的最佳朋友的姓名?例如,(1," John",2," Mary"); (2," Mary",3," Fred");等等。
谢谢!
答案 0 :(得分:1)
您可以将表格加入自身,
SELECT tbl1.person_id,
tbl1.person_name,
tbl1.best_friend_id,
tbl2.person_name
FROM table_name tbl1
LEFT JOIN table_name tbl2 ON tbl1.person_id = tbl2.best_friend_id