按列显示出来

liuxmzc 2016-02-16 02:08:24
问题:


name value date
n1 v1 d1
n1 v2 d2
n1 v3 d3
n2 v4 d1
n2 v5 d2
n2 v6 d3
n3 v7 d1
n3 v8 d2
......

请问如何显示成:
name value name value name value date ......
n1 v1 n2 v4 n3 v7 d1 ......
n1 v2 n2 v5 n3 v8 d2 ......
n1 v3 n2 v6 null null d3 ......

name 有20多个,请问要生成如上报表如何实现SQL
...全文
171 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
道素 2016-02-17
  • 打赏
  • 举报
回复
测试数据:

;WITH t(n,v,d) AS (
	select 'n1','v1','d1' UNION
	select 'n1','v2','d2' UNION
	select 'n1','v3','d3' UNION
	select 'n2','v4','d1' UNION
	select 'n2','v5','d2' UNION
	select 'n2','v6','d3' UNION
	select 'n3','v7','d1' UNION
	select 'n3','v8','d2'
)
SELECT * INTO #t FROM t
计算:

declare @sql varchar(max) 
 select @sql = isnull(@sql+',','') + 'max(case n when '''+n+''' then n else null end) as [name], max(case n when '''+n+''' then v else null end) as [value]'
 from (select distinct n from #t) a
 set @sql = 'select d, '+@sql+' from #t group by d'
 exec(@sql)
 
/*
d	name	value	name	value	name	value
d1	n1	v1	n2	v4	n3	v7
d2	n1	v2	n2	v5	n3	v8
d3	n1	v3	n2	v6	NULL	NULL
*/
简介: 1、多级目录,每个目录下面可以有更深一级目录,并列出属于该目录的网站 管理:选择分类管理,添加需要的分类,或者选择下一级目录,同时可以选择删除(删)修改(修)制作(制)某一个目录 2、静态页面,所有目录页面均使用程序生成了html页,不用读取数据库,大大节省了服务器资源 管理:选择制作下属页面,系统会列出搜索的类别,请选择需要生成的类别 3、目录模版,在数据库中存放了大量的页面模版,每一个目录都可以订制自己的网面 管理:选择模板管理,系统会列出目前已经存在的模板,你可以修改,添加,删除,添加时请按照示例进行制作,建议先将数据库备份再修改 4、即时登陆网站,站长可以随时登陆自己的网站,但是登陆以后只能在他选定的目录所显示的页面中的“更多”网站页面中显示出来,只有在管理员审查并生成页面以后才能直接在目录页面看到 5、模糊查找, 6、布尔查找,支持and(*) or(|) not(-)等布尔表达式 例如:烟台*一百-新闻 或者:烟台 and 一百 not 新闻 如果只需要and连接,可以只输入 烟台 一百,这与 烟台*一百、烟台 and 一百 效果等同 搜索结果将会把相关关键词以特殊的颜色显示出来 7、常用关键词页面自动生成,用户输入查找的关键词都保存在数据库中,如果有相同的关键词则这些关键词数量累加,管理员管理的时候可以生成排名在头几位的关键词页面,也就是提前替用户把这些关键词提前搜索出来了,并且生成了静态的html页面,用户在搜索这些关键词时,就可以直接显示这些已经生成的页面,避免了大量的查询数据库,节省了服务器资源 管理:选择关键词管理,系统会列出数据库中已经存在的可以生成的关键词,以及网友在使用这个搜索引擎时用的关键字(只选取排名头100个),管理员可以随意生成需要的关键词页面 8、网站顺序,在某个目录下的网站数目很多的时候,排在上面的网站被访问的几率比排在下面的网站几率要大得多,因此我又增加排名功能,管理员可以设定某个网站在该目录下的排名 9、单目录搜索,当用户在某个目录浏览的时候,可以选择在该目录下搜索和搜索全部目录,选择在该目录下搜索可以只搜索属于该目录以及该目录的子目录下的网站 10、静态页面在线生成,在管理界面可以在线生成所有目录下的页面以及关键词页面 11、二次搜索功能,当用户在搜索某个关键词以后,系统列出了〉20个结果以后,就会出现二次搜索界面,用户可以选择在这些结果中再次搜索,比如要求结果必须不包含某个关键词或者必须再包含某个关键词 12、模版的在线修改,不同的页面模版有不同的规则 14、所有目录在线动态修改,自动更新以前的页面 15、动态生成网站首页(需要模版支持) 16、分类参照:指一个分类类目名分在一个上级类目下,而在另一个类目下作参照。以@作后缀的类目名。

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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