Select 基于 If 语句的自定义列

Select Custom Column based on If Statement

我有以下Survey

列是 Survey_Name, Question, Response, Weight, QuestionType

除了在此 table 中显示值之外,我想要的是显示一个自定义列,该列的值取决于其他列。

例如,

让我们调用自定义列 response_value 我希望此列显示 weightQuestionType 为 'Rating' 的行,而对于其他问题类型,我希望它显示 Response,而不是word,而是字段的值。

是的,weightresponse 列已经在 table 中,但我希望它们根据该条件显示在自定义列中。

所以基本上,它将是 Select * from Survey, Select ([if 语句])

帮助?

select *, case when questiontype = 'Rating' 
               then cast(weight as signed)
               else response
          end as response_value
from survey
select *, if(questiontype = 'Rating',weight,response) as response_value from survey