多表查询 一条sql组合语句 将B表查询出来的字段值BB 交给 A表的一个自定义字段AA 是怎么整的

比如selectu.id,u.username,u.sex,u.status,u.role_name,(selectr.role_namefromrolerwhereu.... 比如 select u.id,u.username,u.sex,u.status,u.role_name,(select r.role_name from role r where u.id = r.id ) from user u;
查询所有用户表信息 并且查询 当用户表的id与角色表id相等时的角色名

怎样做到在SQL语句中就将 (select r.role_name from role r where u.id = r.id ) 交给 u.role_name
求解!
展开
 我来答
百度网友0ba9ea42f
2016-08-03 · TA获得超过240个赞
知道小有建树答主
回答量:151
采纳率:0%
帮助的人:173万
展开全部
交给是什么意思?你想要把role表中role_name写入到user表的role_name吗?这两个表同一外键id所对应的role_name是一致的么,没明白你表达的意思,所以先写下这条看看对不对
select u.id,u.username,u.sex,u.status,u.role_name,r.role_name as newrole_name from user u inner join role r on u.id=r.id
追问
select u.id,u.username,u.sex,u.status (select r.role_name from role r where u.id = r.id ) as role_name from user u; 
请问这样能实现role表的字段赋值给user表的字段吗?
追答
你如果是要更新到user表的role_name字段,必须用update,select只能查询,无法更新的,不可能在同一条语句里,即select又update,如果你要将role表的role_name更新到user表的role_name字段,必须使用以下语句
update user u inner join role r on r.id=u.id set u.role_name=r.role_name
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式