正在尝试使用基于另一列值的大小写和条件更新SQL Server 2008中的列
我正在尝试根据其他列中的值更新包含两列的表。我有一个语法错误,现在我有点痛苦。因此,我想根据正在尝试使用基于另一列值的大小写和条件更新SQL Server 2008中的列,sql,sql-server,sql-server-2008,sql-update,case,Sql,Sql Server,Sql Server 2008,Sql Update,Case,我正在尝试根据其他列中的值更新包含两列的表。我有一个语法错误,现在我有点痛苦。因此,我想根据NET\u SALES列中的值更新列MONETARY,并根据DLP列中的值更新列recenty。想法 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.0
NET\u SALES
列中的值更新列MONETARY
,并根据DLP
列中的值更新列recenty
。想法
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次,您不需要它。请尝试以下查询
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;
你的语法错误是什么?