Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要SQL解决方案吗_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

需要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建议的解决方案是可行的,但基于特定字符串选择特定行是糟糕的数据库设计。