Gruplama yapınca cariyi neden sadece bir kayıt olarak göster
Gruplama yapınca cariyi neden sadece bir kayıt olarak göster
Gruplama yapınca cariyi neden sadece bir kayıt olarak göstermiyor bir türlü çözemedim. gc leri -1 ve 1 olanlar diye iki kayıt gösteriyor...
Nasıl tek bir cari olarak gösterebilirim
SELECT cari_adi,gc,fatura_tarihi as hareket_tarihi, fatura_tipi as hareket_turu,fatura_belge_no as belge_no, aciklama,
SUM(CASE WHEN GC = 1 THEN genel_toplam ELSE 0 END) AS ToplamAlacak, SUM(CASE WHEN GC = -1 THEN (genel_toplam * (-1)) ELSE 0 END) AS ToplamBorc, SUM(genel_toplam * GC) As ToplamBakiye
FROM mev_fatura_hareket where fatura_tarihi between "2004-01-01" and "2007-01-01" and cari_kodu like "%" GROUP BY cari_adi
UNION ALL SELECT cari_adi,gc,fis_tarihi as hareket_tarihi,fis_turu as hareket_turu,fis_no as belge_no,likidite_turu as aciklama,
SUM(CASE WHEN GC = 1 THEN para_tutari ELSE 0 END) AS ToplamAlacak, SUM(CASE WHEN GC = -1 THEN (para_tutari * (-1)) ELSE 0 END) AS ToplamBorc, SUM(para_tutari * GC) As ToplamBakiye
FROM mev_cari_borc_alacak_fisi where fis_tarihi between "2004-01-01" and "2007-01-01" and cari_kodu like "%" GROUP BY cari_adi order by hareket_tarihi
Nasıl tek bir cari olarak gösterebilirim
SELECT cari_adi,gc,fatura_tarihi as hareket_tarihi, fatura_tipi as hareket_turu,fatura_belge_no as belge_no, aciklama,
SUM(CASE WHEN GC = 1 THEN genel_toplam ELSE 0 END) AS ToplamAlacak, SUM(CASE WHEN GC = -1 THEN (genel_toplam * (-1)) ELSE 0 END) AS ToplamBorc, SUM(genel_toplam * GC) As ToplamBakiye
FROM mev_fatura_hareket where fatura_tarihi between "2004-01-01" and "2007-01-01" and cari_kodu like "%" GROUP BY cari_adi
UNION ALL SELECT cari_adi,gc,fis_tarihi as hareket_tarihi,fis_turu as hareket_turu,fis_no as belge_no,likidite_turu as aciklama,
SUM(CASE WHEN GC = 1 THEN para_tutari ELSE 0 END) AS ToplamAlacak, SUM(CASE WHEN GC = -1 THEN (para_tutari * (-1)) ELSE 0 END) AS ToplamBorc, SUM(para_tutari * GC) As ToplamBakiye
FROM mev_cari_borc_alacak_fisi where fis_tarihi between "2004-01-01" and "2007-01-01" and cari_kodu like "%" GROUP BY cari_adi order by hareket_tarihi
En son akkaya83 tarafından 12 May 2006 05:38 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kod: Tümünü seç
SELECT cari_adi,gc,fatura_tarihi as hareket_tarihi, fatura_tipi as hareket_turu,fatura_belge_no as belge_no, aciklama,
SUM(CASE WHEN GC = 1 THEN genel_toplam ELSE 0 END) AS ToplamAlacak, SUM(CASE WHEN GC = -1 THEN (genel_toplam * (-1)) ELSE 0 END) AS ToplamBorc, SUM(genel_toplam * GC) As ToplamBakiye
FROM mev_fatura_hareket where fatura_tarihi between "2004-01-01" and "2007-01-01" and cari_kodu like "%" GROUP BY cari_kodu
UNION ALL SELECT cari_adi,gc,fis_tarihi as hareket_tarihi,fis_turu as hareket_turu,fis_no as belge_no,likidite_turu as aciklama,
SUM(CASE WHEN GC = 1 THEN para_tutari ELSE 0 END) AS ToplamAlacak, SUM(CASE WHEN GC = -1 THEN (para_tutari * (-1)) ELSE 0 END) AS ToplamBorc, SUM(para_tutari * GC) As ToplamBakiye
FROM mev_cari_borc_alacak_fisi where fis_tarihi between "2004-01-01" and "2007-01-01" and cari_kodu like "%" GROUP BY belge order by hareket_tarihi
Kod: Tümünü seç
SELECT cari_adi,
Kod: Tümünü seç
SELECT max(cari_adi),max(gc),max(fatura_tarihi) as hareket_tarihi, max(fatura_tipi) as hareket_turu,....
SUM(CASE WHEN GC = 1 THEN genel_toplam ELSE 0 END) AS ToplamAlacak, SUM(CASE WHEN GC = -1 THEN (genel_toplam * (-1)) ELSE 0 END) AS ToplamBorc, SUM(genel_toplam * GC) As ToplamBakiye
FROM mev_fatura_hareket where fatura_tarihi between "2004-01-01" and "2007-01-01" and cari_kodu like "%" GROUP BY cari_kodu
UNION ALL SELECT cari_adi,gc,fis_tarihi as hareket_tarihi,fis_turu as hareket_turu,fis_no as belge_no,likidite_turu as aciklama,
SUM(CASE WHEN GC = 1 THEN para_tutari ELSE 0 END) AS ToplamAlacak, SUM(CASE WHEN GC = -1 THEN (para_tutari * (-1)) ELSE 0 END) AS ToplamBorc, SUM(para_tutari * GC) As ToplamBakiye
FROM mev_cari_borc_alacak_fisi where fis_tarihi between "2004-01-01" and "2007-01-01" and cari_kodu like "%" GROUP BY belge order by hareket_tarihi
yaptım olmadı...
üst kısımda yanlış gruplama ibaresi vardı onu düzelttim
şimdi
ve sizin dediğiniz şekilde max() parantezine oldım olmadı....
şimdi
ve sizin dediğiniz şekilde max() parantezine oldım olmadı....
Sorun order by da kullanılan hareket_tarihi alanı ile ilgilidir. Çünkü ilk select te sadece alias olarak kullanıldığında ve order by her iki select için de ortak olduğundan aynı alanın her iki select te olması gerekir
Order by kısmı kaldırılırsa çalışması lazım.

Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
yine olmadı,
order by kısmını kaldırdım yine olmadı...
Re: yine olmadı,
olmadı.. yerine şu hata mesajını verseniz bir zahmetakkaya83 yazdı:order by kısmını kaldırdım yine olmadı...

Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!