簡體   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