Interbase — объединение запросов

У меня есть таблица со столбцами: Question и Answer. Мне нужен запрос, который приводит к одному столбцу, содержащему попеременно Question и соответствующий Answer.

Пример:

Таблица «Вопрос_Ответ»

   Q1, A1
   Q2, A2
   Q3, A3
   Q4, A4

Вывод запроса, имя столбца «Вопрос_Ответ_Результат»

   Q1
   A1
   Q2
   A2
   Q3
   A3
   Q4
   A4

Я попробовал следующую команду:

select "Question_Answer_Result"
from (select "Question_Answer"."Question"
      from   "Question_Answer"
      union all
      select "Question_Answer"."Answer"
      from   "Question_Answer"
     )

но получаю сообщение "Неожиданный конец команды".

Какой будет правильная команда SQL?

Спасибо.


person user2383818    schedule 03.01.2020    source источник


Ответы (2)


Что вы выбираете из подзапроса? Выбор ищет столбец «Question_Answer_Result» из результата подзапроса; такого столбца не существует. Единственная колонка "Вопрос".

person donvnielsen    schedule 03.01.2020
comment
Я отредактировал вопрос, и надеюсь, теперь понятно, какова моя цель. - person user2383818; 03.01.2020

Вам не хватает ссылки на столбец при первоначальном выборе. Как упоминалось в моем первом ответе, столбец «вопрос» является результатом подзапроса объединения. Вам нужно выбрать этот столбец по имени (или * будет достаточно), а затем переименовать его.

выберите вопрос 'question_answer' из (выберите вопрос из объединения question_answer, все выберите ответ из question_answer)

РЕДАКТИРОВАТЬ: это SQLite, чтобы получить точный результат

select question 'question_answer'
from (
    select question from question_answer
    union all
    select answer from question_answer
) x
order by substr(question,length(question-1),1),substr(question,1) desc

обратите внимание, порядок вывода будет не таким, как вы проиллюстрировали.

person donvnielsen    schedule 03.01.2020
comment
Спасибо. Я действительно не уверен, какой должна быть правильная команда SQL, чтобы получить вывод, как показано в вопросе. Есть ли у вас предложения? Спасибо. - person user2383818; 04.01.2020