[英]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.