SELECT pwh.pathwID, pwh.TransactionDT, pwh.patientid, pwh.Height, pwh.HeightMeasureType, pwh.Weight, pwh.WeightMeasureType, pwh.InputSource, pwh.UserID, pwh.NoteID, pwh.BMI,MeasureStatus, pwh.Meetingnumber FROM dbo.co_Pat_HeightWeightHistory pwh WHERE patientID=@PatientID AND pwh.pathwID=(Select top 1 pathwID from co_Pat_HeightWeightHistory p2 WHERE p2.PatientID=@PatientID AND convert(varchar(10),p2.transactiondt,101)=CONVERT(varchar(10),pwh.transactiondt,101) ORDER BY TransactionDT DESC) ORDER BY pathwid Desc>>Trying to figure out how to return just 1 record for each date in the results. In the attached screen shot, you'll see there are a total of 5 records, one with a TransactionDT of 10-06-2010 and 4 with dates on 10-04-2010. I'd like to return from the query, just the latest record from each date. So in this case it would only return 2 records, 1 for the 6th and 1 for the 4th.
>>SELECT pathwID,Height,HeightMeasureType,Weight,WeightMeasureType,InputSource,TransactionDT, >> UserID,NoteID,BMI,MeasureStatus,Meetingnumber >>FROM dbo.co_Pat_HeightWeightHistory >>WHERE patientID=@PatientID >>order by pathwid Desc >>>>
>SELECT pathwID,Height,HeightMeasureType,Weight,WeightMeasureType,InputSource,TransactionDT, > UserID,NoteID,BMI,MeasureStatus,Meetingnumber >FROM dbo.co_Pat_HeightWeightHistory H >WHERE patientID=@PatientID >and H.ID = (select top 1 ID from dbo.co_Pat_HeightWeightHistory H1 where H1.pathwID = H.PathwID order by TransactionDT DESC) >ORDER BY PathwID Desc