Sql 基于多列的Oracle透视
我对旋转和尝试基于两列旋转是相当陌生的 我拥有的数据: 我希望在数据透视后获得的数据: 我的问题有缺陷:Sql 基于多列的Oracle透视,sql,oracle,pivot,oracle-sqldeveloper,Sql,Oracle,Pivot,Oracle Sqldeveloper,我对旋转和尝试基于两列旋转是相当陌生的 我拥有的数据: 我希望在数据透视后获得的数据: 我的问题有缺陷: select * from ( select ISSUEID,ANSWER, ANSWERCOMMENT,QUESTION ,QUESTIONID from issue_survey WHERE ISSUEID = 6877 ) d pivot ( max(QUESTION) for QUESTIONID in (1 QUESTION1,2 QUESTION2
select *
from
(
select ISSUEID,ANSWER, ANSWERCOMMENT,QUESTION ,QUESTIONID
from issue_survey
WHERE ISSUEID = 6877
) d
pivot
(
max(QUESTION)
for QUESTIONID in (1 QUESTION1,2 QUESTION2, 3 QUESTION3)
) piv;
我从这个有缺陷的查询中得到的结果:
任何与此相关的建议都将不胜感激。谢谢大家! 试试看:
select *
from
(
select ISSUEID,ANSWER, ANSWERCOMMENT,QUESTION ,
rownum rn
from issue_survey
WHERE ISSUEID = 6877
) d
pivot
(
max(QUESTION) as question, max(Answer) as answer,
max( ANSWERCOMMENT ) as ANSWERCOMMENT
for rn in ( 1 ,2 , 3 )
) piv;
演示:
| ISSUEID | 1_QUESTION | 1_ANSWER | 1_ANSWERCOMMENT | 2_QUESTION | 2_ANSWER | 2_ANSWERCOMMENT | 3_QUESTION | 3_ANSWER | 3_ANSWERCOMMENT |
|---------|-------------------|----------|-----------------|--------------|----------|-----------------|-----------------|----------|-----------------|
| 6877 | Do you wanna wait | YES | TEST1 | How about it | Its okay | TEST2 | Sample question | (null) | TEST3