mysql 联查

A表结构
id uid pid

用户表
id name

其中 uid 是当前用户ID ,pid 是当前用户上级ID

mysql 语句要怎么写才能将 uid 跟 pid 的 name 同时查出来?

我使用 join 只可以查出一个 Name

A 表的 uid 的name,跟 pid 的 name 都是查的用户表

阅读 3.3k
5 个回答
select a.id,b1.name uname,b2.name pname from a left join b b1 on b1.id=a.uid left join b b2 on b2.id=a.pid

表a
clipboard.png

用户表b
clipboard.png

结果
clipboard.png

新手上路,请多包涵

假设表一是A表二是B
select A.name as a_name,B.name as b_name from A left join B on A.uid = B.pid

name 是另一个表的字段吗?

笨招-----:
select a.pid,b.name,(select name from biaoB where id = a.pid) as bname from biaoA a,biaoB b where a.uid = b.id
图片描述

select name from user where find_in_set(user.id, (select concat(uid,',', pid) from a where a.id = 1));
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题