個別の患者記録を取得してグリッドに表示したい
患者テーブル
PatientId, FirstName, LastName, City
予約表
BookingId, PatientId, CategoryId, BookingDate
以下のクエリを実行すると、重複した患者レコードが得られます。これは、同じ患者に対して別の日付で 3 つの予約があるために発生しています。このクエリは結合を作成し、1 つの患者レコードではなく 3 つの患者レコードを取得します。
SELECT DISTINCT PAT.PatientId
,PAT.FirstName
,PAT.LastName
,ROW_NUMBER() OVER (ORDER BY PAT.PatientId DESC) AS RowNumber
INTO #itemSearch
FROM dbo.Patient AS PAT
INNER JOIN dbo.Booking AS B
ON PAT.PatientId = B.PatientId WHERE B.CategoryId = 1
この行を削除すると、1 つしか取得できません。ただし、他のページング プロセスにはこの一時テーブルが必要です。
ROW_NUMBER() OVER (ORDER BY PAT.PatientId DESC) AS RowNumber INTO #itemSearch
3 件の予約があるのに、どうすれば 1 人の患者だけを取得できますか?