Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.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 我希望使用pivot将行数据转换为列,这是一个员工数据_Sql_Sql Server_Pivot_Pivot Table - Fatal编程技术网

Sql 我希望使用pivot将行数据转换为列,这是一个员工数据

Sql 我希望使用pivot将行数据转换为列,这是一个员工数据,sql,sql-server,pivot,pivot-table,Sql,Sql Server,Pivot,Pivot Table,我的数据如下表所示 +----------------------------+ | empid empname city salary | +----------------------------+ | 1 a chn 15000 | | 2 a chn 15000 | | 3 b bgl 25000 | | 4 b bgl 25000 | | 5 c hyd 3

我的数据如下表所示

+----------------------------+
| empid empname city salary  |
+----------------------------+
| 1      a       chn 15000   |
| 2      a       chn 15000   |
| 3      b       bgl  25000  |
| 4      b       bgl  25000  |
| 5      c       hyd  30000  |
| 6      c       hyd  30000  |
+----------------------------+
对于上表,我必须将上面的行转换为列。我尝试使用pivot函数,但没有得到正确答案。以下是输出

+--------------------------------------------+
| empname city Novembersalary Decembersalary |
+--------------------------------------------+
| a        chn   15000         15000         |
| b        bgl   25000         25000         |
| c        hyd    30000        30000         |
+--------------------------------------------+
我尝试了以下查询,但效果不好,它显示所有列都处于空状态:

选择名称、城市、11月、12月 从中选择empname作为ename,城市作为loc,员工工资作为srctable ename inempname的pivot avgsalary,城市,11月,12月,数据透视表
很抱歉,他们没有获得输入表的正确日期。现在我找到了解决办法。下面是解决方案查询

选择ename,loc,11月,12月 从中选择empname作为ename,city作为loc,salary,datenamemount,salarydate作为msalary 从员工列表中删除 以pivottabel的形式在城市名称、11月和12月为澳门特别行政区提供pivot avgsalary;
谢谢你们宝贵的评论,伙计们

向我们展示您所尝试的以及所需的输出。我尝试使用pivot函数,但无法得到正确答案。那次尝试是什么。这不在你的问题中,所以我们不能告诉你为什么它不起作用。此外,PIVOT是一个运算符,而不是一个函数。您从哪里获取日期?输入表不显示日期。是否缺少生效日期?我们怎么知道11月和12月是什么?@AbdulMalik:你的数据没有日期的概念,因此不清楚你在结果集中如何定义11月和12月。问题是你没有提到salarydate列。在第一个表的示例中缺少它。