none
SQL DE AS'I WHERE SORGUSUNDA NASIL YAPABİLİRİM RRS feed

  • Soru

  • E_CariKart İnsert

    ,<CariKodu, nvarchar(50),> ,<CariAdi, nvarchar(150),> ,<MuhasebeKodu, nvarchar(35),> ,<GrupKodu, nvarchar(35),> ,<SektorKodu, nvarchar(35),> ,<BolgeKodu, nvarchar(35),> ,<DovizCinsi, nvarchar(35),> ,<VergiDairesi, nvarchar(50),> ,<FaturaAdresNo, nvarchar(15),> ,<SevkAdresNo, nvarchar(15),> ,<WebAdresi, nvarchar(50),> ,<EMail, nvarchar(50),> ,<Cariiskontosu1, char(10),> ,<CariVadesi, char(10),> ,<VadeFarkıOranı, char(10),> ,<FiyatKodu, nvarchar(35),> ,<KurFesaplamaKodu, nvarchar(35),> ,<OdemeŞekli, nvarchar(35),> ,<IskontoKodu, nvarchar(35),> ,<KartNumarasi, nvarchar(50),> ,<OdemeGunu, nvarchar(15),> ,<CariHesapDurumu, nvarchar(15),> ,<CariTakipSekli, nvarchar(35),> ,<RiskLimiti, char(19),> ,<Resim, nvarchar(200),> ,<Cariiskontosu2, char(10),> ,<Cariiskontosu3, char(10),> ,<Cariiskontosu4, char(10),> ,<Cariiskontosu5, char(10),> ,<Cariiskontosu6, char(10),> ,<VergiNumarası, nvarchar(50),> ,<TaksitOdemeGunu, nvarchar(2),> ,<TopladıgıPuan, char(19),> ,<HarcadığıPuan, char(19),> ,<ilkkaydeden, nvarchar(200),> ,<PlasiyerKodu, nvarchar(20),> ,<PlasiyerAdi, nvarchar(200),> ,<OTCariKodu, int,> ,<IslemMerkezi, nvarchar(100),> ,<degistiren, nvarchar(200),> ,<Yetki, nvarchar(500),> ,<C_Ozel1, nvarchar(100),> ,<C_Ozel2, nvarchar(100),> ,<C_Ozel3, nvarchar(100),> ,<C_Ozel4, nvarchar(100),> ,<C_Ozel5, nvarchar(100),> ,<Ekadi, nvarchar(200),> ,<onlineFatura, nvarchar(1),>)

    E_Kasa İnsert      

    (<İşlemNo, money,> ,<AltİşlemNo, money,> ,<İşlemMerkezi, nvarchar(50),> ,<KasaDetayAdı, nvarchar(50),> ,<KasaİşlemTürü, nvarchar(50),> ,<CBPKodu, nvarchar(50),> ,<CBPAdı, nvarchar(250),> ,<İşlemTarihi, nvarchar(12),> ,<VadeTarihi, nvarchar(12),> ,<İşlemDöviz, nvarchar(50),> ,<TakipDöviz, nvarchar(50),> ,<İşlemKuru, decimal(18,8),> ,<TakipKuru, decimal(18,8),> ,<Borç, decimal(18,8),> ,<Alacak, decimal(18,8),> ,<TakipBorcu, decimal(18,8),> ,<TakipAlacak, decimal(18,8),> ,<SerbestAçıklama, nvarchar(400),> ,<ProgramAçıklama, nvarchar(200),> ,<ÇekiİlkYazan, nvarchar(300),> ,<CekNo, nvarchar(50),> ,<KesideYeri, nvarchar(100),> ,<HesapNo, nvarchar(50),> ,<BankaAdi, nvarchar(200),> ,<ÇekKimin, nvarchar(50),> ,<İlkkaydeden, nvarchar(200),> ,<Tur, nvarchar(100),> ,<FaturaNo, nvarchar(100),> ,<Yuzde, nvarchar(50),> ,<BagliİslemKodu, nvarchar(100),> ,<MakbuzNo, int,> ,<SubeAdi, nvarchar(50),> ,<TahsilMakbuzNo, int,> ,<Degistiren, nvarchar(200),> ,<KulMakbuzNo, nvarchar(100),> ,<CekID, nvarchar(100),> ,<BagliCPBAdi, nvarchar(500),> ,<CariSubesi, nvarchar(100),> ,<Kirasozlesmeno, money,> ,<Pislemtarihi, nvarchar(15),>)



    SELECT dbo.E_Carikart.CariKodu, dbo.E_Carikart.CariAdi, SUM(dbo.E_Kasa.TakipBorcu) AS TBorc, SUM(dbo.E_Kasa.TakipAlacak) AS TAlacaki,SUM(dbo.E_Kasa.TakipBorcu) - SUM(dbo.E_Kasa.TakipAlacak)as Bakiye FROM dbo.E_Carikart LEFT OUTER JOIN dbo.E_Kasa ON dbo.E_Carikart.CariKodu = dbo.E_Kasa.CBPKodu WHERE(dbo.E_Kasa.Tur <> N'Fiyat Farkı') AND(dbo.E_Kasa.Tur <> N'Fiyat Farkı Kesildi') and GrupKodu='SALI' GROUP BY dbo.E_Carikart.CariKodu, dbo.E_Carikart.CariAdi, dbo.E_Carikart.GrupKodu, dbo.E_Kasa.TakipDöviz, dbo.E_Carikart.BolgeKodu, dbo.E_Carikart.SektorKodu,dbo.E_Carikart.C_Ozel1, dbo.E_Carikart.C_Ozel2, dbo.E_Carikart.C_Ozel3, dbo.E_Carikart.C_Ozel4, dbo.E_Carikart.C_Ozel5, dbo.E_Carikart.PlasiyerKodu, dbo.E_Carikart.PlasiyerAdi HAVING(NOT(dbo.E_Carikart.CariKodu IN (SELECT CariKodu FROM dbo.E_Depolar))) AND(dbo.E_Carikart.PlasiyerAdi<> (SELECT pesinsatiscarikodu FROM dbo.E_Sabitler))ORDER BY dbo.E_Carikart.CariAdi

    Cari Kodu Cari Adı Borç Alacak Bakiye

    CRK-3.0101 XXX YAVUZ 10540.50000000 10540.50000000 0.00000000 CRK-202.0101 XXX ÇİÇEK 2593.00000000 2593.00000000 0.00000000 CRK-106.0101 XXX ANDİÇ 89.00000000 89.00000000 0.00000000 CRK-245.0101 XXX CENTER 418.00000000 418.00000000 0.00000000

    CRK-145.0101 XXX Kendir 500.00000000 0.00000000 500.00000000

    Bakiyesi 0 olanları göstermemek için nasıl işlem yapabilirim.








    30 Ocak 2019 Çarşamba 08:48

Yanıtlar

  • Birden fazla yolu olsa da, en pratiği bunu CTE olarak yazıp sonucu oradan almak:

    WITH borcAlacak AS
    (
    SELECT dbo.E_Carikart.CariKodu,
           dbo.E_Carikart.CariAdi,
    ...
    )
    SELECT CariKodu, CariAdi, TBorc, TAlacaki, Bakiye
    FROM borcAlacak
    WHERE bakiye <> 0
    ORDER BY CariAdi;

    • Yanıt Olarak İşaretleyen Mustafa SÖNMEZ 30 Ocak 2019 Çarşamba 14:09
    30 Ocak 2019 Çarşamba 13:21