只是一个简单的问题。是否可以在表格中选择列和自定义值。我有一个软件表和一个已安装软件的表。我正在使用其安装的计算机的域角色值来指定服务器或PC的软件类型。但是有多种类型的服务器和PC,我想将这些值提炼成一个可以链接到另一个表的数值。例如,结果将是
¦SoftwareName¦SoftwareType¦ ¦DomainRoleID¦Type ¦
¦SofWare1 ¦1 ¦ ¦1 ¦PC ¦
¦SofWare2 ¦2 ¦ ¦2 ¦Server¦
¦SofWare3 ¦1 ¦
¦SofWare4 ¦2 ¦
由于我需要从表中选择多个记录并插入不同的类型值,我想知道是否可以在insert into子句中执行此操作,就像
一样INSERT INTO tblSoftware (SoftwareName, SoftwareType)
SELECT (SoftwareName, '2')
FROM tbl2
WHERE domainRole > 1
这是否可能,或者我需要在获取数据后执行更新? 提前谢谢!
答案 0 :(得分:3)
试试这个 -
INSERT INTO tblSoftware (SoftwareName, SoftwareType)
SELECT
SoftwareName
, CASE WHEN Type = 'PC'
THEN 1
ELSE '2'
END AS Type
FROM tbl2
WHERE domainRole > 1
答案 1 :(得分:0)
尝试删除括号
INSERT INTO tblsoftware (softwarename, softwaretype) SELECT softwarename, CASE WHEN type = 'PC' THEN 1 ELSE '2' END AS Type FROM tbl2 WHERE domainrole > 1