繁体   English   中英

SQL Server中用于乘法的select case语句的结果

[英]Result of a select case statement for multiplication in SQL Server

谁能告诉我如何使用select case语句的结果进行乘法运算?

(SELECT CASE 
    WHEN unit = 'Sqft' THEN squareft
    WHEN unit = 'Lin.Inch' THEN value
 END) AS AREA, 
('AREA'* pieces) AS 'Total Area'

当我使用上述查询时,出现错误:

将数据类型varchar转换为数字时出错。

有人可以帮忙吗? 提前致谢。

您不能在创建别名的同一语句中引用别名。 您必须粘贴子查询来代替“ AREA”,或者执行我要做的事情,并为该计算创建CTE,并在主选择中引用CTE。

(SELECT CASE 
   WHEN unit = 'Sqft' THEN squareft
   WHEN unit = 'Lin.Inch' THEN value
 END) AS AREA, 
('AREA'* pieces) AS 'Total Area'

像这样的“区域”是一个字符串,而不是对列区域的引用(错误是单词“区域”不能乘以数字)。 在乘法中使用case语句

(SELECT CASE 
    WHEN unit = 'Sqft' THEN squareft
    WHEN unit = 'Lin.Inch' THEN value
 END) AS AREA, 
(CASE 
   WHEN unit = 'Sqft' THEN squareft
   WHEN unit = 'Lin.Inch' THEN value
 END* pieces) AS 'Total Area'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM