IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[FN_ENT_YBBYS_LABORATUVAR_KANGAZLARI_278_USS_DOSYADAKI_SON_GIRILEN_SONUC]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
DROP FUNCTION  [dbo].[FN_ENT_YBBYS_LABORATUVAR_KANGAZLARI_278_USS_DOSYADAKI_SON_GIRILEN_SONUC]

GO

CREATE FUNCTION FN_ENT_YBBYS_LABORATUVAR_KANGAZLARI_278_USS_DOSYADAKI_SON_GIRILEN_SONUC (@HDOSYAID INT)
RETURNS TABLE
AS
RETURN 
(
    SELECT 
        VWTETKIK.HESAPISLID,
        VWTETKIK.HTETKIKID,
        VWTETKIK.ITARIH,
        TTETKIKTEST.YBBYS_TESTADI,
        HTETKIKDETAY.OLCUM,
        HTETKIKDETAY.SONUCR,
        VWTETKIK.HDOSYAID
    FROM 
        VWTETKIK
    INNER JOIN HTETKIKDETAY ON VWTETKIK.HTETKIKID = HTETKIKDETAY.HTETKIKID 
    INNER JOIN TTETKIKTEST ON VWTETKIK.ITEMID = TTETKIKTEST.ITEMID AND HTETKIKDETAY.OLCUM = TTETKIKTEST.TEST
    WHERE 
        VWTETKIK.ITEMKODU2 = '901920' 
        AND TTETKIKTEST.YBBYS_TESTADI IS NOT NULL 
        AND VWTETKIK.HDOSYAID = @HDOSYAID 
        AND VWTETKIK.DURUM = 2
        AND VWTETKIK.HESAPISLID IN 
        (
            SELECT MAX(VWTETKIK.HESAPISLID)  
            FROM 
                VWTETKIK
            INNER JOIN HTETKIKDETAY ON VWTETKIK.HTETKIKID = HTETKIKDETAY.HTETKIKID 
            INNER JOIN TTETKIKTEST ON VWTETKIK.ITEMID = TTETKIKTEST.ITEMID AND HTETKIKDETAY.OLCUM = TTETKIKTEST.TEST
            WHERE 
                VWTETKIK.ITEMKODU2 = '901920' 
                AND TTETKIKTEST.YBBYS_TESTADI IS NOT NULL 
                AND VWTETKIK.HDOSYAID = @HDOSYAID 
                AND VWTETKIK.DURUM = 2 and SONUCR IS NOT NULL
        )
)
