vievde kayıt sayısı

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1269
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

vievde kayıt sayısı

Mesaj gönderen ALUCARD »

Arkadaşlar merhaba çok garip bir sorunum var.

aşağıda kodunu verdiğim bir viewim var. bu viewin içinde çalışan sql lerden bir tanesi yanlış çalışıyor. daha doğrusu vt de 37 kayıt varken o 30 kayıt getiriyor. bi kontrol ettim göstermediği kayıtlar aynı gün ve tutardaki kayıtlar. tutarları değiştirince kayıtları gösteriyor. bu sqli tek başına çalıştırınca tutarlar aynı bile olsa sorunsuz çalışıyor.

Acaba nerde nasıl bir yanlış yapıyorum bulamıyorum.

Kod: Tümünü seç

CREATE VIEW CARIHAREKETLERYENI(
    FIRMA_ID,
    CARI_ID,
    CARIADI,
    TUTAR,
    BORC,
    ALACAK,
    TARIH,
    VADETARIHI,
    FISNO,
    PLAKA,
    ISLEM)
AS
select b.firma_id,b.cari_id,b.cariadi,b.tutar,B.TUTAR,0,cast(b.tarih as date) as TARIH,'' ,'','','Banka İşlemleri - Bankadan Cari Hesaba' from bankaislemleri b
where b.turu= 1
union
select b.firma_id,b.cari_id,b.cariadi,b.tutar,0,B.TUTAR,cast(b.tarih as date) as TARIH ,'','','','Banka İşlemleri - Cari Hesaptan Bankaya' from bankaislemleri b
where b.turu= 2
union
select kc.isletme_id,kc.musteri_id,kc.aciklama,kc.cikan,KC.cikan,0,cast(KC.tarih as date) as TARIH,'','','','Kasa İşlemleri - Çıkan' from kasaislemleri kc
where kc.islemcesidi = 2 or (kc.islemcesidi=4)
union
select kg.isletme_id,kg.musteri_id,kg.aciklama,kg.giren,0,KG.giren,cast(KG.tarih as date) as TARIH,'' ,'','','Kasa İşlemleri - Giren' from kasaislemleri kg
where kg.islemcesidi = 1 or (kg.islemcesidi=3)
union
select f.isletme_id,f.firma_id,f.firmadi,f.toplamtutar,0,F.toplamtutar,cast(F.tarih as date) as TARIH,'',F.faturano,'','Faturalar - Alış Fatuaralar' from faturabaslik f
union
select fs.isletme_id,fs.firma_id,fs.firmaadi,fs.toplamtutar,Fs.toplamtutar,0,cast(Fs.tarih as date) as TARIH ,'',FS.faturano,'','Faturalar - Satış Fatuarası' from sfaturabaslik fs

union
select c.isletme_id,c.cari_id,c.cariadisoyadi,C.tutar,C.tutar,0,cast(C.tarihi as date) as TARIH,cast(C.vadetarihi as date) as VADETARIH,'','','Verilen ÇEK- Kendi Çekimiz' from ceksenet c
where c.tipi = 0
union
select c.isletme_id,c.cari_id,c.cariadisoyadi,C.tutar,0,C.TUTAR,cast(C.tarihi as date) as TARIH,cast(C.vadetarihi as date) as VADETARIH,'','','Alınan Çek - Müşteri Çeki' from ceksenet c
where c.tipi = 1
 union
select c.isletme_id,c.cari_id,c.cariadisoyadi,C.tutar,C.TUTAR,0,cast(C.tarihi as date) as TARIH,cast(C.vadetarihi as date) as VADETARIH,'','','Verilen SENET- Kendi Senetimiz' from ceksenet c
where c.tipi = 2
union
select c.isletme_id,c.cari_id,c.cariadisoyadi,C.tutar,0,C.tutar,cast(C.tarihi as date) as TARIH,cast(C.vadetarihi as date) as VADETARIH,'','','Alınan SENET - Müşteri SENEDİ' from ceksenet c
where c.tipi = 3
union
// işte bu sql yanlış çalışıyor.
select v.vardiya_id,v.cari_id,v.cari_adi,v.tutar,V.tutar,0, cast(v.tarih as date) as TARIH,'0',V.fisno,V.plaka, 'Vardiya İşlemleri - Veresiyeler' from veresiyeler v

union
select t.vardiya_id,t.cari_id,t.cari_adi,t.tutar,0,T.tutar, cast(t.tarih as date) as TARIH,'',T.fisno,T.plaka, 'Vardiya İşlemleri - Tahsilatlar' from tahsilatlar t
union
select g.vardiya_id,g.cari_id,g.cari_adi,g.tutar,g.tutar,0, cast(g.tarih as date) as TARIH,'',g.gider_adi,'', 'Vardiya İşlemleri - Ödemeler' from giderler g
where g.gider_turid = -1

union
select cd.isletme_id,cd.cari_id,cd.cari_adi,cd.borc,cd.borc,0, cast(cd.tarih as date) as TARIH,'','','','Devir Borç Girişi' from carihesapdevirleri cd

union
select cd.isletme_id,cd.cari_id,cd.cari_adi,cd.alacak,0,cd.alacak, cast(cd.tarih as date) as TARIH,'','','','Devir Alacak Girişi' from carihesapdevirleri cd
;
sadece bu sqli çalıştırırsam sorunsuz çalışıyor.

Kod: Tümünü seç

select v.vardiya_id,v.cari_id,v.cari_adi,v.tutar,V.tutar,0, cast(v.tarih as date) as TARIH,'0',V.fisno,V.plaka, 'Vardiya İşlemleri - Veresiyeler' from veresiyeler v
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: vievde kayıt sayısı

Mesaj gönderen mkysoft »

UNION ALL kullanmalısın, UNION aynı kayıtları dikkate almaz.
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1269
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Re: vievde kayıt sayısı

Mesaj gönderen ALUCARD »

Çok teşekkür ederim. @mkysoft . Allah razı olsun. kaç gündür uğraşıyordum.
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Cevapla