我有一个形状的问题数据库
ID , Question , Answer1 , Answer2 , Answer3 , Answer4 , True
其中“True”是正确答案的索引:
True = 0 --> Answer1
....
True = 3 --> Answer4
我只需要选择问题和正确答案,这是我目前得到的结果:
SELECT Question , 'Answer' || (True+1) From Questions
但它会返回问题和“answer1”或“answer2”...即:我不需要的列的名称是值
最佳答案
您可以在 MySQL 中使用 CASE
。
SELECT Question,
CASE True
WHEN 0 THEN Answer1
WHEN 1 THEN Answer2
WHEN 2 THEN Answer3
WHEN 3 THEN Answer4
END AS Answer
FROM tableName
或
SELECT Question,
CASE
WHEN TRUE = 0 THEN Answer1
WHEN TRUE = 1 THEN Answer2
WHEN TRUE = 2 THEN Answer3
WHEN TRUE = 3 THEN Answer4
END AS Answer
FROM tableName
关于mysql - 基于单元格值的动态列选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14492682/