【发布时间】:2011-01-04 06:53:35
【问题描述】:
删除硬编码值时出现错误。
我需要编写简单的 select 语句而不是这个 case 语句...使用临时表...
select case [BVG]
when 1 then 1
when 2 then 2
when 3 then 3
end as Q0,
SELECT CASE [AVG]
when 1 then 1
when 1.33 then 2
when 1.5 then 2
when 1.67 then 3
when 2 then 3
when 2.33 then 4
End as Q
FROM [MS].[BE].[Survey]
所以我用临时表写了一个代码.....
SELECT [Source], [Score]
INTO #Temp_Table
FROM [MS].[dbo].[S_Survey]
WHERE [data_Source] = 'USA'
我替换了这个 select 语句,而不是那个 case 语句......
SELECT q.[Score] as Q --- Getting error in this place.Data Type is varchar (100).
FROM [MS].[BE].[Survey] s
LEFT OUTER JOIN #Temp_Table q on
s.[AVG] = q.[Source]
但是我在执行的时候遇到了一个错误......而且错误是
消息 8114,第 16 级,状态 5,第 1 行 将数据类型 varchar 转换为 float 时出错。
而不是q.[score] as Q 附近的那个地方,我能写什么....以及如何写语法...
谢谢, 锯齿
【问题讨论】:
标签: sql sql-server tsql sql-server-2008