У меня есть следующая таблица 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
Таким образом, чтобы каждый вариант вместо этого был отдельным столбцом, но вместо этого в виде отдельных строк
Приносим извинения, если таблица не в правильном формате, и спасибо за помощь!
Серьезно подумайте о пересмотре схемы. У вас может быть отдельная таблица для опций.
Я удалил несовместимые теги базы данных. Пожалуйста, отметьте свои вопросы только той базой данных, которую вы действительно используете.


Я настоятельно рекомендую реструктурировать вашу базу данных примерно так:
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), но ваша идея составного ключа тоже работает нормально.
Оба столбца AnswerText и AnswerValue имеют одинаковое значение. Как они сопоставляются с исходной таблицей (строкой)?