[英]Trying to Update a Column in SQL Server 2008 using CASE and a Condition based on another Column Value
我正在嘗試根據其他列中的值更新具有兩列的表。 我有一個語法錯誤,現在我有點痛苦。 所以我想基於NET_SALES
列中的值更新MONETARY
列,並且我想基於DLP
列中的值更新RECENCY
列。 思考?
UPDATE #CC201403B_CURRENT
SET MONETARY=CASE
WHEN (NET_SALES BETWEEN '75.00' AND '100.00') THEN '75-100'
WHEN (NET_SALES BETWEEN '100.01' AND '125.00') THEN '100-125'
WHEN (NET_SALES BETWEEN '125.01' AND '175.00') THEN '125-175'
WHEN (NET_SALES BETWEEN '175.01' AND '250.00') THEN '175-250'
ELSE '250+' END,
SET RECENCY=CASE
WHEN (DLP BETWEEN '3/1/2013' AND '5/31/2013') THEN 'DLP 10-12'
WHEN (DLP BETWEEN '6/1/2013' AND '8/31/2013') THEN 'DLP 7-9'
WHEN (DLP BETWEEN '9/1/2013' AND '11/30/2013') THEN 'DLP 4-6'
WHEN (DLP BETWEEN '12/1/2013' AND '2/28/2014') THEN 'DLP 0-3'
ELSE '' END;
您的查詢中有2次關鍵字SET
,並且您不需要它。 請嘗試以下查詢。
UPDATE #CC201403B_CURRENT
SET
MONETARY = CASE
WHEN (NET_SALES BETWEEN '75.00' AND '100.00') THEN '75-100'
WHEN (NET_SALES BETWEEN '100.01' AND '125.00') THEN '100-125'
WHEN (NET_SALES BETWEEN '125.01' AND '175.00') THEN '125-175'
WHEN (NET_SALES BETWEEN '175.01' AND '250.00') THEN '175-250'
ELSE '250+' END,
RECENCY = CASE
WHEN (DLP BETWEEN '3/1/2013' AND '5/31/2013') THEN 'DLP 10-12'
WHEN (DLP BETWEEN '6/1/2013' AND '8/31/2013') THEN 'DLP 7-9'
WHEN (DLP BETWEEN '9/1/2013' AND '11/30/2013') THEN 'DLP 4-6'
WHEN (DLP BETWEEN '12/1/2013' AND '2/28/2014') THEN 'DLP 0-3'
ELSE '' END;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.