Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试获取列值以仅返回它在sql中的同一表中引用的列_Sql_Sql Server - Fatal编程技术网

尝试获取列值以仅返回它在sql中的同一表中引用的列

尝试获取列值以仅返回它在sql中的同一表中引用的列,sql,sql-server,Sql,Sql Server,AnswerInt中的值是数字1到5。数字与列LabelTextnumber一起出现 我想让列AnswerInt返回,然后只返回它引用的列LabelText SELECT Question, AnswerInt, AnswerText, CreatedTime, LabelText1, LabelText2, LabelText3, LabelText4, LabelText5, SurveyType, Re

AnswerInt
中的值是数字1到5。数字与列
LabelText
number一起出现

我想让列
AnswerInt
返回,然后只返回它引用的列
LabelText

SELECT
    Question,
    AnswerInt,
    AnswerText,
    CreatedTime,
    LabelText1,
    LabelText2,
    LabelText3,
    LabelText4,
    LabelText5,
    SurveyType,
    ResponseTypeDesc,

FROM
    dbo.WEBSITE_SURVEYS

WHERE
    CASE AnswerInt 
        WHEN '1' THEN 'LabelText1'
        WHEN '2' THEN 'LabelText2'
        WHEN '3' THEN 'LabelText3'
        WHEN '4' THEN 'LabelText4'
        WHEN '5' THEN 'LabelText5'

您的意思是将
大小写
表达式放在
选择
子句中吗

选择
问题:,
答:,
答复文本,
CreatedTime,
调查类型,
回应:,
案例解答
当为“1”时,则为LabelText1
当为“2”时,则为LabelText2
当“3”时,则为LabelText3
当“4”时,则为LabelText4
当“5”时,则为LabelText5
以LabelText结尾
从…起
dbo.U网站调查

由于您有一个数字来定义返回的值,该值与列相关,因此可以在此处使用;这实际上是一个速记
大小写
表达式:

选择问题,
答:,
答复文本,
CreatedTime,
调查类型,
回应:,
选择(应答、LabelText1、LabelText2、LabelText3、LabelText4、LabelText5)作为LabelText
来自dbo.WEBSITE\u调查;

如果AnswerInt列中的数字与LabelText number列匹配,请尝试以下简单查询:

select 
    Question,
    AnswerInt,
    AnswerText,
    CreatedTime,
    SurveyType,
    ResponseTypeDesc,
    CONCAT('LabelText', AnswerInt)LabelText
FROM
    dbo.WEBSITE_SURVEYS

是的,但我对这方面还不熟悉,用谷歌搜索了一下。这不对吗?