我想採取不同的病人記錄,並顯示在一個網格取區分記錄與JOIN
耐心表
PatientId, FirstName, LastName, City
的預訂表
BookingId, PatientId, CategoryId, BookingDate
下方運行查詢給出重複的患者記錄。發生這種情況是因爲我爲不同日期的同一患者預訂了3次。該查詢使得加入並帶來3個患者記錄而不是1個患者記錄。
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個病人?
使用**通過PAT.PatientID)集團** – Dhinakar 2013-03-18 12:05:34
因爲DISTINCT將ROW_NUMBER後執行(排名功能。 – 2013-03-18 12:15:45
@AlexanderFedorenko,哦,我明白了。還有其他的選擇嗎? – Billa 2013-03-18 12:16:23