테이블을 평평하게해야하지만 까다로운 부분이 있습니다. clomuns는 동적이며 새 ID가 들어있는 새 레코드가 추가 될 때 쿼리가 작동해야합니다. 방법Oracle sql 쿼리 : 동적으로 채워진 피벗 테이블
SELECT mq.question_id
FROM meta_question mq, survey_question sq2
WHERE sq2.survey_id = 1
AND mq.question_id = sq2.question_id
ORDER BY page, ranked
어떤 생각 :
SELECT *
FROM (select qv.respnr, sq.question_id, qv.question_value
from survey_question sq, question_values qv
where qv.question_id = sq.question_id
and sq.survey_id = 1
order by qv.respnr, page, ranked)
PIVOT (
MAX(question_value) --<-- pivot_clause
FOR question_id --<-- pivot_for_clause
IN (346 as c346,347 as c347)
)
나는 이런 식으로 뭔가로 IN (346 as c346,347 as c347)
를 교체하려면 :
이 (이에서 정말 값의 수백입니다 간체) 내 작업 쿼리입니다 이 작업을 수행?
나는 IN이 단순히 선택 문 fileld 할 수없는 나타났습니다, 그래서이 작동하지 않습니다
IN (SELECT mq.question_id
FROM meta_question mq, survey_question sq2
WHERE sq2.survey_id = 1
AND mq.question_id = sq2.question_id
ORDER BY page, ranked)