Я получаю оракул ORA-00913: слишком много значений ошибка при выполнении следующего запроса.
SELECT qst.QUE_NAME,
(SELECT sec2.SECTION_NAME AS "sectionName",
sec2.SECTION_ID_PK AS "sectionId",
sec2.SECTION_SEQUENCE AS "sequence",
CASE(sec2.ENABLE_SCORING)
WHEN '1'
THEN 'true'
ELSE 'false'
END AS "hasScore",
sec2.SECTION_WEIGHTAGE,
sec2.SEC_TOTAL_SCR_WEIGHTAGE,
sec2.SECTION_TYPE
FROM MS_XRQ_SECTION sec2
WHERE sec2.section_category=2
AND sec2.SECTION_QUESTNR_FK=qst.INTERNAL_QUESTNR_ID
)
FROM MS_XRQ_QUESTIONNAIRE qst
WHERE qst.INTERNAL_QUESTNR_ID= 'Questionnaire-3032';
Когда я запускаю второй оператор выбора (который находится в скобках) с жестко закодированнымзначение 'Questionnaire-3032'
возвращает правильный результат.
Также, когда я запускаю следующий запрос, он также возвращает 1 запись.
SELECT qst.QUE_NAME FROM MS_XRQ_QUESTIONNAIRE qst WHERE qst.INTERNAL_QUESTNR_ID= 'Questionnaire-3032';
Так что эти два автономных запроса работают нормально.Но когда я хочу объединить их результаты в один, я получаю эту ошибку.Я не могу понять, что я делаю здесь неправильно!Может кто-нибудь сказать мне, почему это происходит?
Я также хотел бы передать этот запрос в функцию dbms_xmlgen.getxmltype()
, чтобы получить вывод, подобный следующему.
<question>
<name> Q1</name>
<sections>
<section> s1</section>
<section> s2</section>
</sections>
<questions>