0
我有關於將行數據轉換爲列的問題。比方說,我有這樣的數據對錶the_table來自行的MySql動態期間列轉換
YEAR | MONTH | ASPECT | VALUE |
-------------------------------
2015 | 1 | Target | 90 |
2015 | 1 | Score | 75 |
2015 | 2 | Target | 78 |
2015 | 2 | Score | 80 |
2015 | 3 | Target | 90 |
2015 | 3 | Score | 100 |
2015 | 4 | Target | 60 |
2015 | 4 | Score | 90 |
然後我想改變它弄成這個樣子。列數由用戶動態選擇(按範圍)。例如,如果用戶選擇範圍外期間1和3之間,其結果將是
ASPECT | PERIOD1 | PERIOD2 |
----------------------------
Target | 90 | 78 |
Score | 75 | 80 |
現在,我使用的查詢,如
select PERIOD1.ASPECT, PERIOD1.VALUE, PERIOD2.VALUE
from
(
select ASPECT, VALUE
from the_table
where year = 2015
and period = 1
) PERIOD1,
(
select ASPECT, VALUE
from the_table
where year = 2015
and period = 2
) PERIOD2
where PERIOD1.ASPECT = PERIOD2.ASPECT
你有任何想法如何解決這個問題事情?
在此先感謝
選擇的列數?期間還是月份? – jarlh
基本上用戶只能選擇月份(年份一直相同) – jonimaulana