Оператор Select для преобразования столбцов таблицы в строки

У меня есть следующая таблица SQL под названием tblQuestions:

    questionID    Question      Option1 Option2 Option3 Option4 
      1          Whats 1 + 1         1     2       3      4

Я пытаюсь сделать оператор выбора для параметров, который преобразует строку в следующий формат:

 AnswerText AnswerValue
    1          1    
    2          2
    3          3
    4          4

Таким образом, чтобы каждый вариант вместо этого был отдельным столбцом, но вместо этого в виде отдельных строк

Приносим извинения, если таблица не в правильном формате, и спасибо за помощь!

Оба столбца AnswerText и AnswerValue имеют одинаковое значение. Как они сопоставляются с исходной таблицей (строкой)?

Madhur Bhaiya 23.11.2018 18:50

Серьезно подумайте о пересмотре схемы. У вас может быть отдельная таблица для опций.

Strawberry 23.11.2018 18:50

Я удалил несовместимые теги базы данных. Пожалуйста, отметьте свои вопросы только той базой данных, которую вы действительно используете.

Gordon Linoff 24.11.2018 02:49
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
3
47
1

Ответы 1

Я настоятельно рекомендую реструктурировать вашу базу данных примерно так:

tblQuestions

PK = Question_ID

+-------------+--------------+
| Question_ID |   Question   |
+-------------+--------------+
|           1 | What is 1+1? |
|           2 | What is 2+2? |
|         ... | ...          |
+-------------+--------------+

tblOptions

PK = Question_ID + Option_ID

+-------------+-----------+--------------+
| Question_ID | Option_ID | Option_Value |
+-------------+-----------+--------------+
|           1 |         1 |            1 |
|           1 |         2 |            2 |
|           1 |         3 |            3 |
|           1 |         4 |            4 |
|           2 |         1 |            7 |
|           2 |         2 |            5 |
|           2 |         3 |            4 |
|         ... |       ... |          ... |
+-------------+-----------+--------------+

Затем, возможно, таблица ответов, содержащая правильные варианты для каждого вопроса -

tblAnswers

PK = Question_ID

+-------------+-----------+
| Question_ID | Option_ID |
+-------------+-----------+
|           1 |         2 |
|           2 |         3 |
|         ... |       ... |
+-------------+-----------+

У меня был бы AI PK для параметров (option_id), но ваша идея составного ключа тоже работает нормально.

Strawberry 26.11.2018 10:11

Другие вопросы по теме