您的位置:首页 > 数据库

MSSQL系列之十四 无限极分类的解决办法

2021-01-12 22:38 501 查看

--自身连接:自连接
a:相当于员工表     b:相当于上级表
id  name ShangJiId    id  name ShangJiId
1  张三 0      1  张三 0
2  杨广 0      2  杨广 0
3  孙中 0      3  孙中 0
4  牛锛 1      4  牛锛 1
5  石磊 2      5  石磊 2
--

select a.id,a.name,a.ShangJiId,b.name as '上级名'from emp as a left join emp bon a.ShangJiId=b.Id


--他查的是有上级的小兵(中兵)
 

select a.id,a.name,a.ShangJiId,b.name as '上级名'from emp as a inner join emp bon a.ShangJiId=b.Id
Create table emp(id tinyint,       --员工编号name varchar(8),ShangJiId tinyint --上级的编号)insert emp values(5,'石磊',2)select * from empselect a.*,b.namefrom emp a left join emp b on a.ShangJiId = b.id


--借花献佛 面试题
假如说,现在我们公司要做一个系统,系统针对部门进行分级,
有1级部门,2级部门,3级部门,4级部门,5级部门,6级部门,7级部门
怎么设计表???让咱学生用迭代的方式,来设计表...

UPS:美国快递(和EMS差不多), 美国分部/亚太分部/欧美分部
亚太分部:大中国区/港台地区/新加坡/...
大中国区:飞机快递/轮船快递/

id 下级部门 上级部门id
3   飞机快递   2
2   大中国区   1
9   给老鼠快递  8


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐