ひねりを加えた典型的な質問があります。
次の T SQL クエリを変更する必要があります。現在、情報を得るために 1 つのテーブルのみを検索します。情報を得るために、同じ列を持つ 2 つのテーブルを調べる必要があります。1 つのテーブルには現在の従業員が含まれ、もう 1 つのテーブルには元従業員が含まれます
SELECT t.net_Id
,e.fname
,e.lname
FROM tblTrackingEmployee t
join view_employee e
on e.net_id = t.net_id
where trackingid = @trackingId
and empType = @empType
私が考えていたのは、ユニオンを使用して両方を調べることです。従業員はいずれかのテーブルに表示されますが、両方に表示されることはありません。
SELECT t.net_Id
,e.fname
,e.lname
FROM tblTrackingEmployee t
JOIN view_employee e
ON e.net_id = t.net_id
WHERE trackingid = @trackingId
AND empType = @empType
union
SELECT t.net_Id
,fe.fname
,fe.lname
FROM tblTrackingEmployee t
JOIN view_employee fe
ON fe.net_id = t.net_id
WHERE trackingid = @trackingId
AND empType = @empType
ただし、ここにひねりがあります。返された人が現在の従業員か元従業員かを知る必要があります。返されたテーブルに、現在の従業員の場合は 1、元従業員の場合は 0 の列を追加する方法はありますか? 各 trackingId には、潜在的に両方のタイプの従業員が含まれる可能性があります。