[color=#FF0000]关于sql 行转列问题[/color]

HolyPlace 2010-08-05 02:53:28
如何将这个结果
groupid colorid
1 2
1 3
1 4

转成这样
groupid colorid
1 2 3 4

不要贴网上那些查成绩的,直接上sql吧
...全文
90 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
NDDavid 2010-08-05
  • 打赏
  • 举报
回复
字符串拼接?
HolyPlace 2010-08-05
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 cnna002a 的回复:]
select distinct c.[groupid] as [groupid],
(select [colorid] from [Table_1] where [groupid] = 1 and [colorid]=2 )as [colorid],
(select [colorid] from [Table_1] where [groupid] = 1 and [colorid]=3)as ……
[/Quote]
这样写是不是太特殊了
罗纳尔迪尼奥 2010-08-05
  • 打赏
  • 举报
回复
[Table_1] 的数据就是

groupid colorid
1 2
1 3
1 4
罗纳尔迪尼奥 2010-08-05
  • 打赏
  • 举报
回复
select distinct c.[groupid] as [groupid],
(select [colorid] from [Table_1] where [groupid] = 1 and [colorid]=2 )as [colorid],
(select [colorid] from [Table_1] where [groupid] = 1 and [colorid]=3)as [colorid],
(select [colorid] from [Table_1] where [groupid] = 1 and [colorid]=4 )as [colorid]
from [Table_1] c
wuyq11 2010-08-05
  • 打赏
  • 举报
回复
字符串拼接
declare @s varchar(100)
select @s=isnull(@s+'','')+col from tb
select @s
wisdonlz 2010-08-05
  • 打赏
  • 举报
回复
换一种思维:如果你是想要这种结果,你可以读出来,再判断处理,就可以得到这种结果啦,如果不是,那还得高手来解决了
HolyPlace 2010-08-05
  • 打赏
  • 举报
回复
看网上的行转列一般都使用了聚合函数等,不知道这个怎么搞
宝_爸 2010-08-05
  • 打赏
  • 举报
回复
你这个好像不是行列转换,可能没法用PVOIT.

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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