Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.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 server SQL将行透视到列而不进行聚合_Sql Server - Fatal编程技术网

Sql server SQL将行透视到列而不进行聚合

Sql server SQL将行透视到列而不进行聚合,sql-server,Sql Server,我试图找出一个直接的价值轴 我需要将行转换为列,员工有不同的问题存储在行中,我想针对每个员工最多显示3个问题 我看到的大多数例子都包含了一些来自聚合的例子。我正在寻找一个直接的价值轴心。 源表 EMPId Question 121 Should I refer for a desk assessment 121 They have accused me of bullying 121 what services can they be referred for ?

我试图找出一个直接的价值轴

我需要将行转换为列,员工有不同的问题存储在行中,我想针对每个员工最多显示3个问题 我看到的大多数例子都包含了一些来自聚合的例子。我正在寻找一个直接的价值轴心。 源表

EMPId   Question
 121    Should I refer for a desk assessment
 121    They have accused me of bullying
 121    what services can they be referred for ?
 121    what services can they be referred for ?
 122    They have accused me of bullying
 122    what services can they be referred for ?
 123    what services can they be referred for ?
期望输出

+----------+------------------------------------------+------------------------------------------+------------------------------------------+
|  EMPId   |                Question1                 |                Question2                 |                Question3                 |
+----------+------------------------------------------+------------------------------------------+------------------------------------------+
|      121 | Should I refer for a desk assessment     | They have accused me of bullying         | what services can they be referred for ? |
|      122 | They have accused me of bullying         | what services can they be referred for ? |                                          |
|      123 | what services can they be referred for ? |                                          |                                          |
+----------+------------------------------------------+------------------------------------------+------------------------------------------+

您的查询是否如下所示:

Select * from (
    Select *, RowN = Concat('Question', dense_rank() over(partition by EmpId order by Question) )
        from #questions
) a
pivot (max(Question) for RowN in ([Question1],[Question2],[Question3])) p
如果您的输入是xml,并且需要翻译的xml,则此查询将不起作用

输出如下:

+-------+------------------------------------------+------------------------------------------+------------------------------------------+
| Empid |                Question1                 |                Question2                 |                Question3                 |
+-------+------------------------------------------+------------------------------------------+------------------------------------------+
|   121 | Should I refer for a desk assessment     | They have accused me of bullying         | what services can they be referred for ? |
|   122 | They have accused me of bullying         | what services can they be referred for ? | NULL                                     |
|   123 | what services can they be referred for ? | NULL                                     | NULL                                     |
+-------+------------------------------------------+------------------------------------------+------------------------------------------+

您的查询是否如下所示:

Select * from (
    Select *, RowN = Concat('Question', dense_rank() over(partition by EmpId order by Question) )
        from #questions
) a
pivot (max(Question) for RowN in ([Question1],[Question2],[Question3])) p
如果您的输入是xml,并且需要翻译的xml,则此查询将不起作用

输出如下:

+-------+------------------------------------------+------------------------------------------+------------------------------------------+
| Empid |                Question1                 |                Question2                 |                Question3                 |
+-------+------------------------------------------+------------------------------------------+------------------------------------------+
|   121 | Should I refer for a desk assessment     | They have accused me of bullying         | what services can they be referred for ? |
|   122 | They have accused me of bullying         | what services can they be referred for ? | NULL                                     |
|   123 | what services can they be referred for ? | NULL                                     | NULL                                     |
+-------+------------------------------------------+------------------------------------------+------------------------------------------+

在此检查SO的表格格式。有趣的。。。这个问题被标记为SQL Server,尽管这个问题似乎是针对HTML的?如果您确实对SQL Server有疑问,您可能希望发布一些t-SQL,显示您试图到达的位置,然后有人可以指导您。@Eli问题是OP不知道如何将表格式化为ascii格式并使用HTML,但也不知道如何使用HTML格式化html@JuanCarlosOropeza同意。虽然我已经看过了这个问题,但OP试图完成的是什么,我的评论是基于这个问题的。检查一下如何格式化表格。有趣的。。。这个问题被标记为SQL Server,尽管这个问题似乎是针对HTML的?如果您确实对SQL Server有疑问,您可能希望发布一些t-SQL,显示您试图到达的位置,然后有人可以指导您。@Eli问题是OP不知道如何将表格式化为ascii格式并使用HTML,但也不知道如何使用HTML格式化html@JuanCarlosOropeza同意。虽然我已经看过了这个问题,但OP试图完成的是什么,这也是我的评论的基础。你只需要包括3个问题,但OP是否重要?解释选择这3个问题的逻辑是什么?你只需要包括3个问题,但OP是否重要?解释选择这3个问题的逻辑是什么。