Home Forums SQL Server 2008 T-SQL (SS2K8) Single value MIN and MAX dates from multiple rows RE: Single value MIN and MAX dates from multiple rows

  • No promises as you did not provide the DDL for the tables or sample data:

    SELECT DISTINCT

    [Rxo].[SYS_ID]

    , [Rxo].[PATIENT_ID]

    , [Rxo].[DESCRIPTION]

    , [Rxo].[RX_NUMBER]

    , [JRxf].[MAX_FILL_NUM]

    , [Rxo].[PT_CASE_PHYSICIAN_SYS_ID]

    , CONVERT(VARCHAR(12) , [Rxo].[DATE_WRITTEN] , 110) AS DATE_WRITTEN

    , CONVERT(VARCHAR(12) , [Rxo].[EXPIRES] , 110) AS EXPIRES_ON

    , CONVERT(VARCHAR(12) , [Rx3].[MIN_START] , 110) AS MIN_START

    , cast(min([Rxo].[DATE_WRITTEN]) over (partition by [Rxo].[PATIENT_ID]) as DATE) as MinStart

    , cast(max([Rxo].[DATE_EXPIRES]) over (partition by [Rxo].[PATIENT_ID]) as DATE) as MaxStart

    FROM

    [dbo].[RX_ORDER] AS Rxo

    LEFT JOIN (

    SELECT

    MAX([Rxf].[REFILL_NUMBER]) AS [MAX_FILL_NUM]

    , [Rxf].[RX_ORDER_SYS_ID]

    FROM

    [dbo].[RX_FILL] AS Rxf

    GROUP BY

    [Rxf].[RX_ORDER_SYS_ID]

    ) JRxf

    ON [Rxo].[SYS_ID] = [JRxf].[RX_ORDER_SYS_ID]

    LEFT JOIN [dbo].[PATIENT] AS Pat

    ON [Rxo].[PATIENT_ID] = [Pat].[PATIENT_ID]

    LEFT JOIN [dbo].[PT_CASE] AS Ptc

    ON [Pat].[PATIENT_ID] = [Ptc].[PATIENT_ID]

    WHERE

    [Ptc].[SITE_ID] = '0001' AND

    [Ptc].[CASE_STATUS_CODE] = 'A' AND

    [Rxo].[STATUS] = 'A' AND

    [Ptc].[PATIENT_ID] = 2000000000

    ORDER BY

    [Rxo].[PATIENT_ID]

    , [Rxo].[RX_NUMBER]