多表查询 一条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
求解! 展开
查询所有用户表信息 并且查询 当用户表的id与角色表id相等时的角色名
怎样做到在SQL语句中就将 (select r.role_name from role r where u.id = r.id ) 交给 u.role_name
求解! 展开
1个回答
展开全部
交给是什么意思?你想要把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,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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询