简体   繁体   English

MySQL将列转置为行

[英]MySQL transpose columns to rows

I have the following table 我有下表

-----------------------------------------------------------
| Project    | Q1_HC  | Q2_HC  | Q1_COST  | Q2_COST       |
-----------------------------------------------------------
| ProjectA   | 20     | 15     | 20000.00 | 15000.00      |
| ProjectB   | 10     | 15     | 10000.00 | 15000.00      |
-----------------------------------------------------------

Out of this I want a view like this 出于这个,我想要一个这样的视图

-------------------------------------------
| Project    | Quarter| HC     | COST     |
-------------------------------------------
| ProjectA   | Q1     | 20     | 20000.00 |
| ProjectA   | Q2     | 15     | 15000.00 |
| ProjectB   | Q1     | 10     | 10000.00 |
| ProjectB   | Q2     | 15     | 15000.00 |
-------------------------------------------

I have seen lot of threads here but none helps me. 我在这里看到了很多线程,但是没有任何帮助。 Any help is appreciated 任何帮助表示赞赏

Something like this should work 这样的事情应该工作

SELECT Project, 'Q1' Quarter, Q1_HC HC, Q1_COST COST
FROM TableName
UNION
SELECT Project, 'Q2', Q2_HC, Q2_COST
FROM TableName
ORDER BY Project, Quarter

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM