数据库表如下
时间 员工 班别
2010-04-23 王梅 早班
2010-04-25 周晓丽 晚班
2010-04-25 刘燕 晚班
2010-04-25 王梅 晚班
2010-04-23 明月 早班
2010-04-24 陈红云 早班
2010-04-24 孙红梅 早班
2010-04-24 刘燕 早班
2010-04-23 孙红梅 早班
2010-04-23 陈红云 早班
我想显示成这样的请问怎么做?
时间 早班 中班 晚班
2010-04-23 王梅,明月,孙红梅,陈红云
2010-04-24 陈红云,孙红梅,刘燕
2010-04-25 周晓丽,刘燕,王梅
其中 日期,班别,人数 都是不确定的 请达人帮忙解决。
时间 员工 班别
2010-04-23 王梅 早班
2010-04-25 周晓丽 晚班
2010-04-25 刘燕 晚班
2010-04-25 王梅 晚班
2010-04-23 明月 早班
2010-04-24 陈红云 早班
2010-04-24 孙红梅 早班
2010-04-24 刘燕 早班
2010-04-23 孙红梅 早班
2010-04-23 陈红云 早班
我想显示成这样的请问怎么做?
时间 早班 中班 晚班
2010-04-23 王梅,明月,孙红梅,陈红云
2010-04-24 陈红云,孙红梅,刘燕
2010-04-25 周晓丽,刘燕,王梅
其中 日期,班别,人数 都是不确定的 请达人帮忙解决。
解决方案 »
- 求ADO.NET Entity Framework 实例学习
- 通过url地址传递日期型参数的问题
- web应用程序安装完成后怎么在浏览器里查看web站点
- 怎么将自己服务器产生的文件 通过点击上传的按钮 传一份到 另一台服务器呀
- 兄弟姐妹们~谁有比较完整的防止SQL注入的代码啊~~谢谢啦~~
- asp.net 实现可输入的下拉列表
- DropList的SelectIndex问题
- ------------------------------三层体系架构和MVC模式是否有一定的联系--------------------------------
- (在线等)关于WEB中dropdownlist的输入和智能感知功能
- 如何实现一篇文章被浏览次数?
- asp.net打包发布???
- 微软的Ajax添加不上
returns varchar(8000)
as
begin
declare @str varchar(8000)
set @str = ''
select @str = @str + ',' + cast(员工 as varchar) from TableName where 时间= @time
set @str = right(@str , len(@str) - 1)
return(@str)
End
go上述函数建立完之后 在行转列
select 时间,case 班别 when '早班' then dbo.JoinName(时间) else null end as 早班,
case 班别 when '中班' then dbo.JoinName(时间) else null end as 中班,
case 班别 when '晚班' then dbo.JoinName(时间) else null end as 晚班 from TableName order by 时间
这固定列的行转列 凑活可以 要是 动态的我就搞不定了 你去SQL板块发帖子
谢谢你
我去sql发个帖子去
如果你是要做Report的话,Report里面的交叉表就直接能实现这个功能。