従業員の名前、部門、スーパーバイザ、および現在のステータスを返すクエリを作成しようとしています。しかし、問題のテーブルには、各従業員の現在のレコードと履歴レコードが含まれています。1NF以外のテーブルから最新のユニークレコードを取得するにはどうすればよいですか?
従業員ごとに最新のレコードを取得するにはどうすればよいですか?私は単純にMAX(Effective_Date)列を選択して、最後のレコードのみをプルしようとしました。ただし、各レコードには従業員のIDと、レコードのIDはのため、データセットでは必ずしも機能しません。
はここで完全なテーブルの設定の例です:Filedropper.com/exampledata
そして、ここで私が持っている現在のコードの例です。
use ws_er;
select
od.Master_org_dim_id
,od.Member_Last_Name + ', ' + od.Member_First_Name as [Associate Name]
,od.Member_Role as [Tier]
,od.Member_Status as [Status]
,sod.member_last_name + ', ' + sod.member_First_name as [Supervisor Name]
,MAX(od.Effective_Date) as [Effective Date]
,COUNT(od.Master_org_dim_id) as [count]
from Organization_Dim as od
inner join organization_dim as sod on sod.org_dim_id = od.supervisor_dim_id
group by
od.Master_org_dim_id
,od.Member_Last_Name + ', ' + od.Member_First_Name
,od.Member_Role
,od.Member_Status
,sod.member_last_name + ', ' + sod.member_First_name
order by [associate name] desc
テーブルデザインを投稿します。 Donは私たちがリンク元に行くことを期待しています。 – Paparazzi
私は申し訳ありませんが、私はテキストの中にテーブルデザインを置く正しい方法が不明でした。私はそれを調整します。 – Smith