alter VIEW [dbo].[StokFiyatlari] as SELECT sk.StokNo, sk.Kodu AS [StokKodu], sk.StokAdi, sfa.OrtAlis, sfa.MinAlis, sfa.MaksAlis, sfa.OrtAlisIskontosuz, sfa.MinAlisIskontosuz, sfa.MaksAlisIskontosuz, sfs.OrtSatis, sfs.MinSatis, sfs.MaksSatis, sfs.OrtSatisIskontosuz, sfs.MinSatisIskontosuz, sfs.MaksSatisIskontosuz, (select top 1 sum(SonTutar)/Sum(Miktar) from STOKHAR where FisTuru <> 'İ' and GC='G' and Miktar <> 0 and StokKodu = sk.Kodu and IslemTuru not in ('Depo Vir.', 'Satış İade','Mik.Değiş') group by IslemNo ,FaturaTarihi Order by FaturaTarihi desc ) as EnSonAlis, (select TOP 1 (Sum(BirimFiyat*Miktar*(Kdv+100)/100)/SUM(Miktar)) from STOKHAR where GC='G' and Miktar <> 0 and StokKodu = sk.Kodu and IslemTuru not in ('Depo Vir.', 'Satış İade','Mik.Değiş') group by IslemNo ,FaturaTarihi order by FaturaTarihi DESC ) as EnSonAlisIskontosuz, (select TOP 1 sum(SonTutar)/Sum(Miktar) from STOKHAR where GC='C' and Miktar <> 0 and StokKodu = sk.Kodu and IslemTuru not in ('Depo Vir.', 'Alış İade','Mik.Değiş') group by IslemNo ,FaturaTarihi order by FaturaTarihi DESC) as EnSonSatis, (select TOP 1 (Sum(BirimFiyat*Miktar*(Kdv+100)/100)/SUM(Miktar)) from STOKHAR where GC='C' and Miktar <> 0 and StokKodu = sk.Kodu and IslemTuru not in ('Depo Vir.', 'Alış İade','Mik.Değiş') group by IslemNo ,FaturaTarihi order by FaturaTarihi DESC) as EnSonSatisIskontosuz, (SELECT [dbo].fn_StokFiyati(Kodu, 'lifo', DEFAULT)) as LifoFiyat, (SELECT [dbo].fn_StokFiyati(Kodu, 'fifo', DEFAULT)) as FifoFiyat, (select dbo.StokFiyat.F1FiyatH * ((100+dbo.StokFiyat.SatisKdv)/100) from dbo.StokFiyat where dbo.StokFiyat.Kodu = sk.Kodu) as StokKartiFiyat1, (select dbo.StokFiyat.F2FiyatH * ((100+dbo.StokFiyat.SatisKdv)/100) from dbo.StokFiyat where dbo.StokFiyat.Kodu = sk.Kodu) as StokKartiFiyat2, (select dbo.StokFiyat.F3FiyatH * ((100+dbo.StokFiyat.SatisKdv)/100) from dbo.StokFiyat where dbo.StokFiyat.Kodu = sk.Kodu) as StokKartiFiyat3, (select dbo.StokFiyat.F4FiyatH * ((100+dbo.StokFiyat.SatisKdv)/100) from dbo.StokFiyat where dbo.StokFiyat.Kodu = sk.Kodu) as StokKartiFiyat4, (select dbo.StokFiyat.F5FiyatH * ((100+dbo.StokFiyat.SatisKdv)/100) from dbo.StokFiyat where dbo.StokFiyat.Kodu = sk.Kodu) as StokKartiFiyat5, (select dbo.StokFiyat.F6FiyatH * ((100+dbo.StokFiyat.SatisKdv)/100) from dbo.StokFiyat where dbo.StokFiyat.Kodu = sk.Kodu) as StokKartiFiyat6, (select dbo.StokFiyat.F7FiyatH * ((100+dbo.StokFiyat.SatisKdv)/100) from dbo.StokFiyat where dbo.StokFiyat.Kodu = sk.Kodu) as StokKartiFiyat7, (select dbo.StokFiyat.F8FiyatH * ((100+dbo.StokFiyat.SatisKdv)/100) from dbo.StokFiyat where dbo.StokFiyat.Kodu = sk.Kodu) as StokKartiFiyat8, (select dbo.StokFiyat.F9FiyatH * ((100+dbo.StokFiyat.SatisKdv)/100) from dbo.StokFiyat where dbo.StokFiyat.Kodu = sk.Kodu) as StokKartiFiyat9, (select dbo.StokFiyat.F10FiyatH * ((100+dbo.StokFiyat.SatisKdv)/100) from dbo.StokFiyat where dbo.StokFiyat.Kodu = sk.Kodu) as StokKartiFiyat10, (select dbo.StokFiyat.F11FiyatH * ((100+dbo.StokFiyat.SatisKdv)/100) from dbo.StokFiyat where dbo.StokFiyat.Kodu = sk.Kodu) as StokKartiFiyat11, (select dbo.StokFiyat.F12FiyatH * ((100+dbo.StokFiyat.SatisKdv)/100) from dbo.StokFiyat where dbo.StokFiyat.Kodu = sk.Kodu) as StokKartiFiyat12, (select dbo.StokFiyat.F13FiyatH * ((100+dbo.StokFiyat.SatisKdv)/100) from dbo.StokFiyat where dbo.StokFiyat.Kodu = sk.Kodu) as StokKartiFiyat13, (select dbo.StokFiyat.F14FiyatH * ((100+dbo.StokFiyat.SatisKdv)/100) from dbo.StokFiyat where dbo.StokFiyat.Kodu = sk.Kodu) as StokKartiFiyat14, (select dbo.StokFiyat.F15FiyatH * ((100+dbo.StokFiyat.SatisKdv)/100) from dbo.StokFiyat where dbo.StokFiyat.Kodu = sk.Kodu) as StokKartiFiyat15, (select dbo.StokFiyat.F16FiyatH * ((100+dbo.StokFiyat.SatisKdv)/100) from dbo.StokFiyat where dbo.StokFiyat.Kodu = sk.Kodu) as StokKartiFiyat16, (select dbo.StokFiyat.F17FiyatH * ((100+dbo.StokFiyat.SatisKdv)/100) from dbo.StokFiyat where dbo.StokFiyat.Kodu = sk.Kodu) as StokKartiFiyat17, (select dbo.StokFiyat.F18FiyatH * ((100+dbo.StokFiyat.SatisKdv)/100) from dbo.StokFiyat where dbo.StokFiyat.Kodu = sk.Kodu) as StokKartiFiyat18, (select dbo.StokFiyat.F19FiyatH * ((100+dbo.StokFiyat.SatisKdv)/100) from dbo.StokFiyat where dbo.StokFiyat.Kodu = sk.Kodu) as StokKartiFiyat19, (select dbo.StokFiyat.F20FiyatH * ((100+dbo.StokFiyat.SatisKdv)/100) from dbo.StokFiyat where dbo.StokFiyat.Kodu = sk.Kodu) as StokKartiFiyat20, (select dbo.STOKKARTI.AlisIndirimYuzde from dbo.STOKKARTI where dbo.STOKKARTI.Kodu = sk.Kodu) as AlisIndirimYuzde, (select dbo.STOKKARTI.AlisIndirimYuzde2 from dbo.STOKKARTI where dbo.STOKKARTI.Kodu = sk.Kodu) as AlisIndirimYuzde2, (select dbo.STOKKARTI.AlisIndirimYuzde3 from dbo.STOKKARTI where dbo.STOKKARTI.Kodu = sk.Kodu) as AlisIndirimYuzde3, (select dbo.STOKKARTI.AlisIndirimYuzde4 from dbo.STOKKARTI where dbo.STOKKARTI.Kodu = sk.Kodu) as AlisIndirimYuzde4, (select dbo.STOKKARTI.SatisIndirimYuzde from dbo.STOKKARTI where dbo.STOKKARTI.Kodu = sk.Kodu) as SatisIndirimYuzde, (select dbo.STOKKARTI.SatisIndirimYuzde2 from dbo.STOKKARTI where dbo.STOKKARTI.Kodu = sk.Kodu) as SatisIndirimYuzde2, (select dbo.STOKKARTI.SatisIndirimYuzde3 from dbo.STOKKARTI where dbo.STOKKARTI.Kodu = sk.Kodu) as SatisIndirimYuzde3, (select dbo.STOKKARTI.SatisIndirimYuzde4 from dbo.STOKKARTI where dbo.STOKKARTI.Kodu = sk.Kodu) as SatisIndirimYuzde4 from STOKKARTI as sk -- Alış Fiyatları-- left outer join ( select StokKodu, (Sum(BirimFiyat*Miktar*(Kdv+100)/100))/SUM(Miktar) as OrtAlisIskontosuz, min(BirimFiyat*(100+Kdv)/100) as MinAlisIskontosuz, max(BirimFiyat*(100+Kdv)/100) as MaksAlisIskontosuz, SUM(SonTutar)/SUM(Miktar) as OrtAlis, MIN(SonTutar/Miktar)as MinAlis, MAX(SonTutar/Miktar)as MaksAlis from STOKHAR where GC='G' and Miktar <> 0 and IslemTuru not in ('Depo Vir.', 'Alış İade', 'Satış İade','Mik.Değiş') group by StokKodu )as sfa on sfa.StokKodu=sk.Kodu --Satış Fiyatları-- left outer join ( select StokKodu, (Sum(BirimFiyat*Miktar*(Kdv+100)/100))/SUM(Miktar) as OrtSatisIskontosuz, MIN(BirimFiyat*(Kdv+100)/100) as MinSatisIskontosuz, MAX(BirimFiyat*(Kdv+100)/100) as MaksSatisIskontosuz, SUM(SonTutar)/SUM(Miktar) as OrtSatis, MIN(SonTutar/Miktar) as MinSatis, MAX(SonTutar/Miktar) as MaksSatis from STOKHAR where GC='C' and Miktar <> 0 and IslemTuru not in ('Depo Vir.', 'Alış İade', 'Satış İade','Mik.Değiş') group by StokKodu Having SUM(Miktar)<>0 ) as sfs on sfs.StokKodu=sk.Kodu