列 (pk) emp_id と emp_name を持つ従業員テーブルを作成しました。従業員番号と従業員名のフィールドを持つログ テーブルがあります。
emp_id が一意の識別子であるログのレコードをテーブルに入力しようとしていますが、ログのデータには従業員番号が重複しており、従業員名が欠落している場合があります。
従業員番号だけを入力してから、見つかった名前を更新しようとしましたが、サブクエリが複数の値を返したというエラーが発生しています。サブクエリが =、!= などの後に続く場合、これは許可されません。
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 ) ;
テーブルにすべての個別の従業員番号とそれらが見つかった従業員名を入力するより良い方法を教えてください。問題は、データに空の従業員名が付いた従業員番号が含まれている場合があることだと思いますが、それでもテーブルにそれらのレコードが必要です。