Mysql 同一表中的多个联接
我正在尝试从同一用户数据表连接两种不同类型的用户 我有一个具有以下模式的数据库表Mysql 同一表中的多个联接,mysql,Mysql,我正在尝试从同一用户数据表连接两种不同类型的用户 我有一个具有以下模式的数据库表 代理关系 买方id 代理id 我有一个包含用户数据的表: 使用者 身份证 名字 姓 我想要的是具有以下内容的数据集: 买家id姓名 买家id姓氏 代理id名 代理id姓氏 我知道我做得不对,但以下是我的尝试: 这一个为买方和代理返回相同的数据,这是我所期望的 从用户中选择u1.first\u name作为buyerfirst,u1.last\u name作为buyerlast,u1.first\u n
代理关系
- 买方id
- 代理id
- 身份证
- 名字
- 姓
- 买家id姓名
- 买家id姓氏
- 代理id名
- 代理id姓氏
从用户中选择u1.first\u name作为buyerfirst,u1.last\u name作为buyerlast,u1.first\u name作为agentfirst,u1.last\u name作为代理列表u1在ar1上左加入代理关系ar1。买方id=u1.id在ar2上左加入代理关系ar2。代理id=u1.id
这个失败了
从用户u1中选择u1.first\u name作为buyerfirst,u1.last\u name作为buyerlast,u2.first\u name作为agentfirst,u2.last\u name作为agentlast从用户u1中选择,用户u2在ar1上留下加入代理关系ar1。买方id=u1.id在ar2上留下加入代理关系ar2。代理id=u2.id
用户需要两个加入。。取决于代理关系
select u1.first_name as buyerfirst
,u1.last_name as buyerlast
,u2.first_name as agentfirst
,u2.last_name as agentlast
from agent_relationships ar
left join users u1 ar.buyer_id=u1.id
left join users u2 ar.agent_id=u1.id
select BU.first_name, BU.last_name, AU.first_name, AU.last_name
from agent_relationships
left join users BU on buyer_id = BU.id
left join users AU on agent_id= AU.id