我想采取不同的病人记录,并显示在一个网格取区分记录与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