我创建了一个包含列 (pk) emp_id 和 emp_name 的员工表。我有一个包含员工编号和员工姓名字段的日志表。
我正在尝试使用日志中的记录填充我的表,其中 emp_id 是唯一标识符。但是日志中的数据包含重复的员工编号,有时还包含缺少员工姓名。
我尝试只填充员工编号,然后更新找到的名称,但我收到错误子查询返回超过 1 个值。当子查询跟随 =、!= 等时,这是不允许的。
SET IDENTITY_INSERT tblEmployee ON
Insert into tblEmployee (emp_id)
Select Distinct [Employee Number]
From
wrkLogs
SET IDENTITY_INSERT tblEmployee OFF
Update tblEmployee
Set emp_name = (Select [Employee Name]
From wrkLogs
Where emp_id= [Employee Number] AND LEN ([Employee Name] ) >1
)
WHERE EXISTS (Select [Template Name]
From wrkLogs
Where emp_id= [Employee Number ]AND LEN ([Employee Name] ) > 1 ) ;
谁能给我一个更好的方法来用所有不同的员工编号和找到它们的员工姓名填充表格。我认为问题是数据有时有员工编号伴随着一个空白的员工姓名,但我仍然想要表中的这些记录。我是 sql server 的新手,可能会过度思考这个问题。