请问这个树的sql语句该怎么写啊,一定给分
用户表
tb_userinfo
userid username departmentid
001 ABC 001
002 AAA 001
003 VVV 002
004 RRR 002
部门信息表
tb_departmentinfo
departmentid deparmentname
001 A部门
002 B部门
如何查询出树结构的列表?
象这样
userid username departmentid deparmentname
null null 001 A部门
001 ABC 001 A部门
002 AAA 001 A部门
null null 002 B部门
003 VVV 002 B部门
004 RRR 002 B部门
快来人拉,在线等待拉
[解决办法]
if object_id( 'pubs..tb_userinfo ') is not null
drop table tb_userinfo
go
create table tb_userinfo(userid varchar(10),username varchar(10),departmentid varchar(10))
insert into tb_userinfo(userid,username,departmentid) values( '001 ', 'ABC ', '001 ')
insert into tb_userinfo(userid,username,departmentid) values( '002 ', 'AAA ', '001 ')
insert into tb_userinfo(userid,username,departmentid) values( '003 ', 'VVV ', '002 ')
insert into tb_userinfo(userid,username,departmentid) values( '004 ', 'RRR ' , '002 ')
go
if object_id( 'pubs..tb_departmentinfo ') is not null
drop table tb_departmentinfo
go
create table tb_departmentinfo(departmentid varchar(10),deparmentname varchar(10))
insert into tb_departmentinfo(departmentid,deparmentname) values( '001 ', 'A部门 ')
insert into tb_departmentinfo(departmentid,deparmentname) values( '002 ', 'B部门 ')
select * from
(
select userid = null,username = null , * from tb_departmentinfo
union all
select a.userid , a.username , a.departmentid , b.deparmentname from tb_userinfo a,tb_departmentinfo b where a.departmentid = b.departmentid
) t
order by departmentid,userid
drop table tb_userinfo,tb_departmentinfo
/*
userid username departmentid deparmentname
---------- ---------- ------------ -------------
NULL NULL 001 A部门
001 ABC 001 A部门
002 AAA 001 A部门
NULL NULL 002 B部门
003 VVV 002 B部门
004 RRR 002 B部门
(所影响的行数为 6 行)
*/