我在MySQL数据库中有两个表:
姓名
[
{id: 1, name: 'John'},
{id: 2, name: 'Mike'},
{id: 3, name: 'Fred'}
]
name_changes
[
{id: 1, old_name_id: 1, new_name_id: 2},
{id: 1, old_name_id: 3, new_name_id: 1}
]
(names是表'names'中'id'的外键)
请帮我建立查询,以连接这些表并得到结果:
[
{id: 1, old_name_id: 1, new_name_id: 2, old_name: 'John', new_name: 'Mike'},
{id: 1, old_name_id: 3, new_name_id: 1, old_name: 'Fred', new_name: 'John'}
]
您可以使用表名two table和使用一个正确的表名别名
select a.id id, a.old_name_id, a.new_name_id, b.name old_name, c.name new_name
from name_changes a
inner join names b on b.id = a.old_name_id
inner join names c on c.id = a.new_name_id