-- Tedavi tabelası olmayan tüketimlerin hdosyaid siliniyor...
UPDATE    DEPOFISISL
SET              HDOSYAID = NULL
FROM         DEPOFISISL INNER JOIN
                      DEPOFIS ON DEPOFIS.DEPOFISID = DEPOFISISL.DEPOFISID LEFT OUTER JOIN
                      TALEPFIS ON DEPOFIS.TALEPFISID = TALEPFIS.TALEPFISID
WHERE     (TALEPFIS.HTEDAVITABELAID IS NULL) AND (DEPOFIS.ISLEM = N'TÜKETİM') AND (DEPOFISISL.HDOSYAID IS NOT NULL)
GO

-- Aktif yatışı olmayan dosyaların hdosyaid siliniyor...
--DECLARE
   --@BASTARIH DATETIME = dbo.TARIHAL(GETDATE())
UPDATE    DEPOFISISL 
SET              HDOSYAID = NULL
FROM         DEPOFISISL LEFT OUTER JOIN
                      HDOSYA WITH (NOLOCK) ON DEPOFISISL.HDOSYAID = HDOSYA.HDOSYAID
WHERE     (DEPOFISISL.HDOSYAID IS NOT NULL) AND 
--(HDOSYA.HDTARIH IS NULL OR HDOSYA.HDTARIH < @BASTARIH) AND 
					  (DEPOFISISL.HDOSYAID NOT IN
                          (SELECT DISTINCT HDOSYAID FROM
	(SELECT VWYATIS.HDOSYAID
	FROM         VWHTEDAVITABELAKULLANIM INNER JOIN
						  VWYATIS ON VWHTEDAVITABELAKULLANIM.HYATISID = VWYATIS.HYATISID
	WHERE     (uygulandı = 0) AND (pasıf = 0) AND (kulpasıf = 0) AND (VWYATIS.DURUM = 2) AND (VWHTEDAVITABELAKULLANIM.TARIH >= DATEADD(DAY, - 4, dbo.TARIHAL(GETDATE())))
	UNION ALL
	SELECT HDOSYAID
	FROM         VWYATIS
	WHERE     (DURUM = 1) AND EXISTS
							  (SELECT     HTEDAVITABELAID
								FROM          HTEDAVITABELA
								WHERE      (VWYATIS.HYATISID = HYATISID))) Q))
 
GO

--DECLARE
--   @BASTARIH DATETIME = '20160503'
UPDATE    TUKETIMFISISL
SET              HDOSYAID = NULL
FROM         TUKETIMFISISL LEFT OUTER JOIN
                      HDOSYA WITH (NOLOCK) ON TUKETIMFISISL.HDOSYAID = HDOSYA.HDOSYAID
WHERE     (TUKETIMFISISL.HDOSYAID IS NOT NULL) AND 
--(HDOSYA.HDTARIH IS NULL OR HDOSYA.HDTARIH < @BASTARIH) AND 
          (TUKETIMFISISL.HDOSYAID NOT IN
                          (SELECT DISTINCT HDOSYAID FROM
	(SELECT VWYATIS.HDOSYAID
	FROM         VWHTEDAVITABELAKULLANIM INNER JOIN
						  VWYATIS ON VWHTEDAVITABELAKULLANIM.HYATISID = VWYATIS.HYATISID
	WHERE     (uygulandı = 0) AND (pasıf = 0) AND (kulpasıf = 0) AND (VWYATIS.DURUM = 2) AND (VWHTEDAVITABELAKULLANIM.TARIH >= DATEADD(DAY, - 4, dbo.TARIHAL(GETDATE())))
	UNION ALL
	SELECT HDOSYAID
	FROM         VWYATIS
	WHERE     (DURUM = 1) AND EXISTS
							  (SELECT     HTEDAVITABELAID
								FROM          HTEDAVITABELA
								WHERE      (VWYATIS.HYATISID = HYATISID))) Q))
GO