我不确定我是否正在使用正确的功能去做我想做的事情。这是我到目前为止的代码:
insert into assets(owner)
(select a.Username as whatIwant
from dbo.DIRECTORY a join dbo.ASSETS b
on a.Ext = b.Ext)
我有一个包含资产的表(dbo.assets),其中有一列(ext),其中包含与资产绑定的电话分机号码。在另一个表(dbo.directory)中,我有一个列,其中电话分机号码(分机)与该分机上的人员姓名(用户名)相关联。
我想要做的是将绑定到电话分机的人的用户名插入新栏目下的dbo.assets:所有者。所以,ext必须与用户名匹配。我应该使用合并吗?
答案 0 :(得分:1)
您没有提到您正在使用哪种RDMS。无论哪种方式,您都需要先将列添加到表中,然后更新行设置列值。在SQL Server中,它看起来像这样。
ALTER TABLE assets ADD owner VARCHAR(20) NULL
update a
set a.owner = b.username
from assets a
inner join directory b on a.ext=b.ext