我的SQL語句列表如下:顯示SQL數據從行到列
SELECT Count(DISTINCT A.LM_PERSON_ID) AS HEAD_COUNT
,A.LM_STATUS
,To_Char(A.LM_STATUS_CHANGE_DT,'YYYY') AS YEAR
,B.LM_COURSE_NAME AS COURSE_NAME
FROM LM_ENRLOLMENT A
,LM_COURSE_TBL B
WHERE A.LM_STATUS='COMP'
AND A.LM_COURSE_ID=B.LM_CI_ID
GROUP BY A.LM_STATUS_CHANGE_DT,LM_STATUS,B.LM_COURSE_NAME
的例子輸出我想顯示爲:
COURSE_NAME 2010 2011 2012
A 4 5 1
B 2 1 1
C 6 0 3
D 1 1 2
但我現在面臨的主要問題是該LM_STATUS_CHANGE_DT
是動態數據。有沒有人能告訴我我該怎麼做?
如果您使用的是SQL Server(其中RDBMS?),那麼PIVOT命令將爲您執行此操作。 – DWright
否則,如果你在說,Mysql,這個步驟如何:http://stackoverflow.com/questions/7674786/mysql-pivot-table。 – DWright
@DWright你好,很高興認識你。我正在使用oracle SQL沒有Mysql。我會嘗試使用透視功能。以後反饋給你。順便說一句,我不可能通過使用LISTAGG函數來完成這項工作嗎? – goh6319