SELECT dp.adi as DEPOADI, dp.kodu AS DEPOKODU, sh.stokkodu, st.stokadi, ISNULL ((SELECT SUM(ADET) FROM STOKHAREKET WHERE GDEPO = DEPOKODU AND STOKKODU = DBO.STOKhareket.STOKKODU), 0) - ISNULL ((SELECT SUM(ADET) FROM STOKHAREKET WHERE CDEPO = DEPOKODU AND STOKKODU = DBO.STOKhareket.STOKKODU), 0) AS KALAN, ISNULL ((SELECT AVG(FIYAT) FROM STOKHAREKET S WHERE S.GDEPO = DEPOKODU AND S.STOKKODU = STOKHAREKET.STOKKODU), 0) AS FIYAT FROM DEPO DP LEFT OUTER JOIN STOKHAREKET SH ON (SH.GDEPO=DEPOKODU OR SH.CDEPO=DEPOKODU) LEFT OUTER JOIN STOK ST ON (ST.STOKKODU=SH.STOKKODU) WHERE (SH.TARIH<= :TARIH)