我在SQL Sever中的查询:
INSERT INTO BIT_Dashboard.dse.L_Projectgroup (Projectgrouptype_CD) VALUES
(
CASE Projectgroup_NAM
WHEN (
'BLA'
| 'BI Projekt'
| 'PDP'
| 'VBM'
) THEN ('PRO')
END
)我收到以下错误:“无效的列名‘Projectgroup_NAM’。”
问题是(也许我忘了强调这一点)我已经在表中有了一些行,并且我想用查询来更新特定行中的Projectgrouptype_CD。我做错了什么?
我的查询不起作用的是什么?
发布于 2012-10-11 22:39:53
尝试将其更改为select statement
INSERT INTO BIT_Dashboard.dse.L_Projectgroup (Projectgrouptype_CD)
select
CASE
WHEN Projectgroup_NAM in('BLA','BI Projekt','PDP','VBM')
THEN ('PRO')
END
from BIT_Dashboard.dse.L_Projectgroup我不确定表BIT_Dashboard.dse.L_Projectgroup是否正确,但这只是一个示例。
更新语法:
update BIT_Dashboard.dse.L_Projectgroup
set Projectgrouptype_CD = 'PRO'
WHERE Projectgroup_NAM in('BLA','BI Projekt','PDP','VBM') 如果您需要更多case
update BIT_Dashboard.dse.L_Projectgroup
set Projectgrouptype_CD =
case
WHEN Projectgroup_NAM in('BLA','BI Projekt','PDP','VBM') then 'PRO'
WHEN Projectgroup_NAM in('BIT') then 'BIT'
END发布于 2012-10-11 22:44:22
试试这个:
这里的Projectgroup_NAM列应该来自table.Here,我猜您是在从另一个table1插入值
INSERT INTO BIT_Dashboard.dse.L_Projectgroup (Projectgrouptype_CD)
select CASE when Projectgroup_NAM in('BLA'
,'BI Projekt'
, 'PDP'
, 'VBM'
) THEN 'PRO'
END
from table1https://stackoverflow.com/questions/12842142
复制相似问题