作者:绿色风
分类:
时间:2022-08-18
浏览:201
楼主 wcymiss |
觉得锐版的函数题用sql做也挺有意思的。
题目说明: 数据源A1:B16为乱序。 用sql语句将部门与员工合并为一列,并按部门、员工排序,如C列效果。 不得用辅助列、函数、vba、定义名称。 截止时间: 2011年12月14日18:00 评分: 正确效果即加5魅力。谢谢参与。
如何变换数据结构-sql.rar
Ps:中文的排序在sql里总不清楚是按什么来排的,所以把原先附件里的中文全换成英文了,开头的大写也换成了小写。 |
2楼 wjc2090742 |
- SELECT IIF(员工 IS NULL,部门,员工) AS 效果 FROM
- (SELECT * FROM
- (SELECT * FROM [Sheet1$A1:B16]
- UNION
- SELECT 部门,NULL AS 员工 FROM [Sheet1$A1:A16])
- ORDER BY 部门,员工)
|
3楼 xyf2210 |
学习小胖的select null as- select iif(员工 is null,部门,员工) as 效果 from (select 部门,null as 员工 from [Sheet1$A1:B16] union select * from [Sheet1$A1:B16])
|
4楼 mn860429 |
- select 部门 from
- (
- select distinct 部门,help from (select *,(select count(*) from [data$] where a.部门>=部门) as help from [data$] a order by 部门,员工)
- union all
- select 员工,help+0.1 from (select *,(select count(*) from [data$] where a.部门>=部门) as help from [data$] a order by 部门,员工)
- )
- order by help
很久没写了,子查询都忘了 |
5楼 wcymiss |
开贴,谢谢楼上三位参与。我的语句是:- select iif(员工 is null,部门,员工) as 效果 from (select * from [sheet1$a1:b16] union all select distinct 部门,null from [sheet1$a1:b16] order by 部门,员工)
原来union有去重效果,又学到新东东了。
|
6楼 wcymiss |
2楼、3楼效果完全正确。4楼未对“员工”进行排名,最后 order部分变为:order by help,部门 就正确了。 |
7楼 bluexuemei |
学习了,好题目 |
8楼 像狸一样坚定 |
学习3楼方法,谢谢各位老师 |
9楼 过期品24 |
|
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一