我在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。我做错了什么?
我的查询不起作用?
答案 0 :(得分:2)
尝试将其更改为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
答案 1 :(得分:2)
试试这个:
此处Projectgroup_NAM列应该来自一个表。我猜你是从另一个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 table1