将行更改为列 [英] Change rows to columns

查看:87
本文介绍了将行更改为列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将行更改为列。这就是我现在拥有的:



NAME |年|收入|费用|雇员

COMPANY-1 | 2017年| €30000 | €15000 | 10

COMPANY-1 | 2016 | €50000 | €10000 | 8

COMPANY-2 | 2017年| €20000 | €5000 | 20

COMPANY-2 | 2016 | €80000 | €95000 | 5



这就是我想要的:



NAME | INCOME_2017 | EXPENSE_2017 | INCOME_2016 | EXPENSE_2016 | EMLOYES_2017 | .....

COMPANY-1 | €30000 | €15000 | €50000 | €10000 | 10

COMPANY-2 | €20000 | €5000 | €80000 | €95000 | 20



有人知道我该怎么做吗?



我试过的:



一切,我复制并编辑了很多PIVOT和UNPIVOT脚本,但是没有用。

I want to change my rows to a column. This is what I have now:

NAME | YEAR | INCOME | EXPENSE | EMPLOYES
COMPANY-1 | 2017 | €30000 | €15000 | 10
COMPANY-1 | 2016 | €50000 | €10000 | 8
COMPANY-2 | 2017 | €20000 | €5000 | 20
COMPANY-2 | 2016 | €80000 | €95000 | 5

And this is what I want:

NAME | INCOME_2017 | EXPENSE_2017 | INCOME_2016 | EXPENSE_2016 |EMLOYES_2017 | .....
COMPANY-1 | €30000 | €15000 | €50000 | €10000 | 10
COMPANY-2 | €20000 | €5000 | €80000 | €95000 | 20

Has someone an idea how i can do this?

What I have tried:

Everything, I have copied and edit a lot of PIVOT and UNPIVOT script, but that didn't work..

推荐答案

尝试多个CTE和JOIN,例如

Try multiple CTEs and JOIN, e.g.
WITH CTE2017 AS
(
   SELECT NAME, YEAR AS YEAR_2017, INCOME AS INCOME_2017, EXPENSE AS EXPENSE_2017, EMPLOYES AS EMPLOYES_2017 FROM tablename WHERE YEAR='2017'   
),
CTE2016 AS
(
   SELECT NAME, YEAR AS YEAR_2016, INCOME AS INCOME_2016, EXPENSE AS EXPENSE_2016, EMPLOYES AS EMPLOYES_2016 FROM tablename WHERE YEAR='2016'   
)
SELECT CTE2017.NAME, YEAR_2017, INCOME_2017, EXPENSE_2017, EMPLOYES_2017, YEAR_2016, INCOME_2016, EXPENSE_2016, EMPLOYES_2016 FROM CTE2017 JOIN CTE2016 ON CTE2017.NAME=CTE2016.NAME


这篇关于将行更改为列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆