急求SQL語句

fencole 2006-02-27 11:52:53
id name
A M
A N 轉化成 id name
B P A M,N
B Q B P,Q
C R C R
該怎么寫?
...全文
159 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ddangerous169 2006-02-27
  • 打赏
  • 举报
回复
如果只有两列,最多行数确定就好办了.
如果无法确定,只有写存储过程了.
zlz_212 2006-02-27
  • 打赏
  • 举报
回复
关注一下吧!一句话我写不出来
seasky2008 2006-02-27
  • 打赏
  • 举报
回复
是不是这个意思:
--创建测试表
create table subject (id int identity(1,1) primary key, subjectname varchar(20))
go

create table scores (id int identity(1,1) primary key, student varchar(20), subjectid int, score int)
go

--插入测试数据
insert into subject values ('语文')
insert into subject values ('数学')

insert into scores values ('张三', 1, 90)
insert into scores values ('张三', 2, 60)
insert into scores values ('李四', 1, 85)
insert into scores values ('李四', 2, 78)
insert into scores values ('王武', 1, 88)
insert into scores values ('王武', 2, 96)

--横向输出
declare @sql varchar(8000)
set @sql = 'select v.student'
select @sql = @sql + ',isnull(min(case v.subjectid when ' + cast(a.id as varchar(10)) +' then score end),0) ['+subjectname+'] '
from (select id, subjectname from subject) a
select @sql = @sql + 'from scores v group by student'
print @sql
exec (@sql)


--执行结果
/*
张三 90 60
李四 85 78
王武 88 96
*/
phantomMan 2006-02-27
  • 打赏
  • 举报
回复
定義一個函數,然後使用函數查詢,你查我以前sql server版回的帖子,有相同的問題。
athena_fwq 2006-02-27
  • 打赏
  • 举报
回复
一句一句写了

62,041

社区成员

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

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

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

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