在华为面试,遇到下题。没做出来。特来求教
表名为comany,如下字段
id int
superid int
code varchar
supercode varchar
id,code是一个企业的编号和代码,superid和supercode是上级单位的编号和代码
现在表的id,code,supercode都已给值,用一个sql语句填充superid
...全文
31714打赏收藏
[sql查询]华为的一个面试题
在华为面试,遇到下题。没做出来。特来求教 表名为comany,如下字段 id int superid int code varchar supercode varchar id,code是一个企业的编号和代码,superid和supercode是上级单位的编号和代码 现在表的id,code,supercode都已给值,用一个sql语句填充superid
create table comany
(
id int IDENTITY (1,1)NOT NULL,
superid int,
code varchar(10),
supercode varchar(10)
)
insert comany
select NUll,'A',NUll union
select NUll,'B','A' union
select NUll,'C','A' union
select NUll,'D','B' union
select NUll,'E','B' union
select NUll,'F','E'
update comany set superid=T.id from
(select id,Code from comany) T,comany
where T.Code=comany.supercode