尝试获取列值以仅返回它在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
是的,但我对这方面还不熟悉,用谷歌搜索了一下。这不对吗?