原始表資料:
輔助思考:
select usertelephone,
max(decode(filedid, 1, answervalue, 0)) as "問題1",
max(decode(filedid, 2, answervalue, 0)) as "問題2",
max(decode(filedid, 3, answervalue, 0)) as "問題3",
max(decode(filedid, 4, answervalue, 0)) as "問題4",
max(decode(filedid, 5, answervalue, 0)) as "問題5",
max(decode(filedid, 6, answervalue, 0)) as "問題6",
max(decode(filedid, 7, answervalue, 0)) as "問題7"
from t_d_Serveyanswer where serveyid =3 group by usertelephone order by 1 asc;
漲姿勢的關鍵字:pivot
select * from
(select usertelephone, filedname, answervalue,t.adddate from t_d_Serveyanswer t join
t_d_Serveyfiled t1 on t.filedid = t1.id where t.serveyid =3)
pivot(
max(answervalue) for filedname in (
'坑德基和麥當勞 你更喜歡 吃什麼?',
'你什麼?',
'你是那種人?',
'性别',
'你愛好什麼?',
'你叫什麼?',
'你用過天翼客服嗎?'
)
) order by 1;
總結:計算原理group by 聚合函數計算列以外的其他列。
for縱向展示(作為字段),聚合計算和for以外的其他列 垂直展示