需要SQL解决方案吗
问题:需要SQL解决方案吗,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,问题: Num String Score 1 Overall 5 1 Comments Good 2 Overall 4 2 Comments Fine 3 Overall 5 3 Comments Fine 我想要这样的结果 Num String Score Comments 1 Overall 5 Good 2 Overall 4
Num String Score
1 Overall 5
1 Comments Good
2 Overall 4
2 Comments Fine
3 Overall 5
3 Comments Fine
我想要这样的结果
Num String Score Comments
1 Overall 5 Good
2 Overall 4 Fine
3 Overall 5 Fine
有人能帮我使用SQL代码吗?这里有一种使用条件聚合的方法:
select num,
'Overall' as string,
max(case when string = 'Overall' then score end) as score
max(case when string = 'Comments' then score end) as comments
from yourtable
group by num
你好,山姆!欢迎来到堆栈溢出。请提供一些附加信息:您的数据库模式;您正在处理的查询不起作用;您的查询返回什么,或者遇到什么错误。谢谢还包括你自己解决这个问题的尝试。这不是一个代码编写服务,但我们很乐意帮助解决不完整的解决方案。这是一个典型的
PIVOT
问题。看一看文档,并试一试。如果您仍然有困难,请回来,告诉我们您尝试了什么,我们将尽力为您提供更多帮助。()我认为这个数据库真的需要重构。@sgeddes建议的解决方案是可行的,但基于特定字符串选择特定行是糟糕的数据库设计。