SELECT sum(stok.alisurun) as toplam_alisurun, sum(stok.alis) as toplam_alistutar,
sum(stok.satisurun) as toplam_satisurun, sum(stok.satis) as toplam_satistutar,
sum(stok.satis)-sum(stok.alis) as kar_zarar FROM
(
select detaystok.BARCOD,
case when detaystok.STOKTURU='Stok Çıkışı' then detaystok.TUTAR3 else 0 end alis,
case when detaystok.STOKTURU='Stok Çıkışı' then detaystok.MIKTAR else 0 end alisurun,
case when detaystok.STOKTURU='Stok Girişi' then detaystok.TUTAR3 else 0 end satis,
case when detaystok.STOKTURU='Stok Girişi' then detaystok.MIKTAR else 0 end satisurun
from detaystok ) stok
yalnız şöyle bir sıkıntım var ben kullanıcının seçtiği tarih aralığına göre yapmak istiyorum veritabanımda tarih alanım stok tablosunda detay stok tablosunda tarih alanım yok ilk select e tarih alanın eklemek istediğim zaman [Err] 1054 - Unknown column 'stok.BELGETARIH' in 'field list'
bu hatayı veriyor
stok hareketlerini tutacağınız bir stok_m tablosu oluşturarak içerisinde
fisno,carikodu,tarih alanları açabilirsiniz
bu tablonun detay bilgilerinin tutulacağı stok_d tablosunda ise fisno ,stok,miktar alanları açarak fisno alanlarını eşitleyerek istediğinizi gerçekleştirebilirsiniz.
mustafasoy hocam tablom zaten o şekilde stok tablomda fişno stokno tarih firma bilgileri var detay stok tablomda ise fisno stokno ile ilişkili urunler kayıtlı ama yukarıdaki sorguya ben stok tablosundaki tarih alanını ekle diğim zaman hata veriyor
Query e daha önceden stok.BELGETARIH alanını ekleyerek bir sorgu yapmışsınız, sonra query de field leri eklemişsiniz, sonra query içeriğine yukarıdaki sorguyu alıp open yapmak istediğiniz zaman da, query de zaten stok.BELGETARIH field i daha önceden ekli olduğu ve yeni sorgunuzda stok.BELGETARIH field i olmadığı için bu hatayı alıyor olabilirmisiniz?
select stok.BELGETARIH, sum(stok.ttmiktar) as tmiktar,sum(stok.tttutar) as ttutar FROM
(
select detaystok.BARCOD,detaystok.MIKTAR,detaystok.TUTAR3,stok.STOKTURU,stok.BELGETARIH,
case when (stok.STOKTURU='Stok Çıkışı') or (stok.STOKTURU='Kasiyer Satış') and stok.BELGETARIH BETWEEN '2016-01-01' and '2016-03-08' then
detaystok.MIKTAR else 0 end ttmiktar,
case when (stok.STOKTURU='Stok Çıkışı') or (stok.STOKTURU='Kasiyer Satış') and stok.BELGETARIH BETWEEN '2016-01-01' and '2016-03-08' then
detaystok.TUTAR3 else 0 end tttutar from detaystok,stok
GROUP BY stok.BELGETARIH
) stok
GROUP BY stok.BELGETARIH
sorgu çalıştı fakat toplamları yanlış alıyor gruplandırdığım tüm tarihlere toplam olarak aynı sonucu çıkarıyor