Mysql 使用fk连接两个表中的数据
嗨,伙计们 我有两张这样的桌子:Mysql 使用fk连接两个表中的数据,mysql,join,Mysql,Join,嗨,伙计们 我有两张这样的桌子: users id name ============ 1 Piter 2 Vladimir 3 Paul data id creator reviewer text =================================== 1 1 2 bla1 2 1 3 bla2 3 2 3 bla3
users
id name
============
1 Piter
2 Vladimir
3 Paul
data
id creator reviewer text
===================================
1 1 2 bla1
2 1 3 bla2
3 2 3 bla3
在数据表中,创建者和审阅者将fk引用到users.indexid
有没有一种方法不需要多重选择(即,通过使用连接-这是我现在尝试使用的方法),就可以获得解析名称的数据
这个例子确实不起作用
SELECT *
FROM data as d
LEFT JOIN users as u
ON d.creator = u.indexid
LEFT JOIN users as u2
ON d.reviewer = u2.indexid
WHERE data.id = 1
这需要一些结果,如:
results
id creator reviewer text
=============================
1 Piter Vladimir bla1
相反,我得到:
`bad_results`
id creator reviewer text
=============================
1 1 2 bla1
有人能指出我失败的地方吗
谢谢 您可以在下面尝试-您的第二个加入条件需要更改,如
d.reviewer=u2.indexid
SELECT d.id,u.name as creator,u2.name as reviewer, text
FROM data as d
LEFT JOIN users as u
ON d.creator = u.indexid
LEFT JOIN users as u2
ON d.reviewer = u2.indexid
WHERE data.id = 1