SQL 对结果集排序

寡亾 2011-08-01 02:55:18

declare @sql varchar(8000)
set @sql = 'select employeeName '
select @sql = @sql + ' , max(case ckDate when ''' + convert(nvarchar,ckDate) + ''' then score else 0 end) [' + convert(nvarchar,ckDate) + ']'
from (select DISTINCT ckDate ,remark from SM_FiveSCheck) as a
set @sql = @sql + ' from SM_FiveSCheck group by employeeName'
exec(@sql)

源码如上,结果
姓名 20110718 20110709 20110708 20110728 20110715 20110727
刘凯 0 0 0 0 0 0
李笑营 0 0 0 0 0 0
周勇亮 0 0 0 0 0 0
陈梅 0 0 0 0 0 0
王颖 0 0 0 0 0 0
徐娅娅 0 0 0 0 0 0
张国栋 0 0 0 0 0 0
魏梦琦 0 0 0 0 0 0

我还有一列remark,我想在每个日期后面在显示个remark,还有让日期按照自然日期排序,而不是这么乱,
...全文
128 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
寡亾 2011-08-02
  • 打赏
  • 举报
回复
小三正解,谢了。结贴了。
cd731107 2011-08-01
  • 打赏
  • 举报
回复
declare @sql varchar(8000)
set @sql = 'select employeeName '
select @sql = @sql + ' , max(case ckDate when ''' + convert(nvarchar,ckDate) + ''' then score else 0 end) [' + convert(nvarchar,ckDate) + ']'
+ ' , max(case ckDate when ''' + convert(nvarchar,ckDate) + ''' then remark else 0 end) [' + convert(nvarchar,ckDate) + ']'
from (select DISTINCT top 100 percent ckDate ,remark from SM_FiveSCheck order by ckDate) as a
set @sql = @sql + ' from SM_FiveSCheck group by employeeName'
exec(@sql)
--小F-- 2011-08-01
  • 打赏
  • 举报
回复
declare @sql varchar(8000)
set @sql = 'select employeeName '
select @sql = @sql + ' , max(case ckDate when ''' + convert(nvarchar,ckDate) + ''' then score else 0 end) [' + convert(nvarchar,ckDate) + 'remark]'
from (select DISTINCT ckDate ,remark from SM_FiveSCheck) as a
set @sql = @sql + ' from SM_FiveSCheck group by employeeName'
exec(@sql)
wangdingbang 2011-08-01
  • 打赏
  • 举报
回复


Select *, row_number() over(order by ckDate) as remark
From SM_FiveSCheck
AcHerat 元老 2011-08-01
  • 打赏
  • 举报
回复

declare @sql varchar(8000)
set @sql = 'select employeeName '
select @sql = @sql + ' , max(case ckDate when ''' + convert(nvarchar,ckDate)
+ ''' then score else 0 end) [' + convert(nvarchar,ckDate) + ']'
+ ',max(case ckDate when ''' + convert(nvarchar,ckDate)
+ ''' then remark else '''' end) [' + convert(nvarchar,ckDate) + '_remark]'
from SM_FiveSCheck
group by ckDate
order by ckDate
set @sql = @sql + ' from SM_FiveSCheck group by employeeName'
exec(@sql)
AcHerat 元老 2011-08-01
  • 打赏
  • 举报
回复
from (select DISTINCT ckDate ,remark from SM_FiveSCheck) as a
order by ckDate

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧