異なるステータスと従業員コードの値を持つ従業員に対して、私のテーブルには2つの行があり、異なる2つの従業員コードに対して1つの行を生成するクエリを作成したい状態。ここで異なるwhere句に基づいて2つの列を作成
は、
EmployeeId First_Name Last_Name Sex Employee_Code Status
---------- ---------- --------- --- ------------- ------
91224 Jane Scott F 7754 Active
91224 Jane Scott F 8234 Inactive
これは私のクエリで、テーブルからのデータである
SELECT ISNULL(e.EmployeeId, '') AS EmployeeId,
e.First_Name AS FirstName, e.Last_Name AS LastName,
e.Sex AS Gender,
e1.Employee_Code AS CurrentEmployeeCode,
e2.Employee_Code AS PreviousEmployeeCode
FROM #tempEmployee e
LEFT JOIN #tempEmployee e1 ON e.EmployeeId = e1.EmployeeId AND e.Status = 'Inactive'
LEFT JOIN #tempEmployee e2 ON e.EmployeeId = e2.EmployeeId AND e.Status = 'Active'
WHERE e.EmployeeId = '91224'
は、これが私の結果である:
EmployeeId FirstName LastName Gender CurrentEmployeeCode PreviousEmployeeCode
---------- --------- -------- ------ ------------------- --------------------
91224 Jane Scott F NULL 8234
91224 Jane Scott F 7754 NULL
私はこのために1行を持つようにしたいですemployeeIdにはcurrentemployeecodeとpreviousemployeecodeという2つの列があります。
#tempEmployee 'あなたの結果テーブルとの関連 – techspider