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)