
Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?
Maalesef Proxy oraya da izin vermiyor. 

Bir kelimenin anlamını öğretsen bile yeter..



Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?
yerleştirdiğim ikinci query ile hesaplama yaptırdım fakat ilk satırdaki kayıtı tekrarlayıp duruyor bunu nasıl düzeltirim bu hallolursa zaten mesele çözülmüş olacak
olay quikreportan dataset inden kaynaklanıyor datasette hangi query varsa onu tüm kayıtlar ile sıralıyor
diğreini sadece ilk kayıt ı gösteriyor burdan halledemeyizmi
olay quikreportan dataset inden kaynaklanıyor datasette hangi query varsa onu tüm kayıtlar ile sıralıyor
diğreini sadece ilk kayıt ı gösteriyor burdan halledemeyizmi
Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?
quicrepin dataseti hangi si ise o querydeki kayıt sayısı kadar döner.
bir önceki hatanın sebebi ise
queryi oluştururken tırnak eksikliğinden dolayı comboboxun texti yerine combobox.text stringini almışsın.
kullandığın kod
dikkat edersen edit1.text derken 3 tırnak atmışsın ama comboboxun textinde iki tırnak var
onuda 3 tırnaklı yaparsan ve group by daki alanlarıda düzenlersen hata vermiyecektir.
kolay gelsin.
bir önceki hatanın sebebi ise
queryi oluştururken tırnak eksikliğinden dolayı comboboxun texti yerine combobox.text stringini almışsın.
kullandığın kod
Kod: Tümünü seç
...From UYE, HESAP Where UYE.ID=HESAP.KIM and ADI LIKE '''+Edit1.text+'%'' and blok LIKE ''+COMBOBOX3.text+'' group by...
onuda 3 tırnaklı yaparsan ve group by daki alanlarıda düzenlersen hata vermiyecektir.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?
selamlar dediğinizi yaptım fakat yine hata verdi aşşağıdaki gibi nasıl çözerim zaman bulabildikçe bakıyorum cevaplara selamlar teşekkürler

http://img268.imageshack.us/img268/4314/hata2y.jpg
zquery nin sql tagına yazdığım kod yukardaki hatayı veriyor active edilmiyor

http://img268.imageshack.us/img268/4314/hata2y.jpg
zquery nin sql tagına yazdığım kod yukardaki hatayı veriyor active edilmiyor
Kod: Tümünü seç
Select UYE.ADI,UYE.BLOK,HESAP.AIDAT, HESAP.AODEME,HESAP.YAKIT,HESAP.YODEME, HESAP.AY, HESAP.YIL, HESAP.NOTC, HESAP.ID, sum(HESAP.AIDAT), sum(HESAP.AODEME), sum(hesap.aidat-hesap.aodeme) as aidatk, sum(HESAP.YAKIT), sum(HESAP.YODEME), sum(hesap.yakit-hesap.yodeme) as yakitk CASE WHEN YIL='''+COMBOBOX1.text+''' AND AY='''+COMBOBOX2.text+''' then sum(hesap.aidat-hesap.aodeme) else 0 end AS aidat end From UYE, HESAP Where UYE.ID=HESAP.KIM and ADI LIKE '''+Edit1.text+'%'' and blok LIKE '''+COMBOBOX3.text+''' group by hesap.kim,UYE.ADI,UYE.BLOK,HESAP.AY,HESAP.YIL,HESAP.NOTC
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?
Konu 3 sayfa oldu ama basit gibi görünen hata aşılamadı. Önerim ilk önce bir SQL editörden veritabanına bağlanarak doğru sorgunun SQL cümlesini bulmalısın. Daha sonra delphi tarafına geçip gerekli düzenlemeyi yapmalısın. Gerekirse SQL sorgusunu ShowMessage veya Query.SQL.SaveToFile(... metodunu kullanarak delphiden verilen SQL cümlesiyle diğer tarafta doğru olarak çalıştırdığın SQL cümlelerini kıyaslayarak doğruluğunu kontrol etmelisin.
Evet o zamanlara bir de ek yapmak gerekirse bırakın forumu ne internet kullanabiliyorduk, ne de çevremizde konuyu bir bilen hocamız, abimiz veya arkadaşımız vardı. Bunlar olmayınca da haliyle kendi kendine çözmek zorunda kalındığından konular iyice bir öğrenildi. Önerim "ne yapmam lazım?"ı soruşturmak yerine bu işin bir düzeneği, belirli yollardan gidilen mantıksal işleyişi var. Bunu çözümlemek ve anlamak yoluna gitmelisin. Yazılım işinin en can alıcı noktası yazılan programın hatasını ayıklamaktır. Hata ayıklama zahmetli olduğu kadar iyi bir zihin egzersizi sağlar. Hataları ayıklamanda bol şans.pelitt yazdı:Arkadaşlar niye paylaşımcı olmak yere ben biliyorum başkasına gerek yok havasında oluyor insanlar anlamıyorum
günlerdir birşey için uğraşıyorum
sorun şu ay seçimimi yapınca mysql e ilk sırada hangi ay kayıt yapıldıysa o ay geliyor diğer aylar gelmiyor boş gözüküyor bunu nasıl çözerim yardımcı olursanız çok sevinirim
bukodda dikkat ederseniz Where UYE.ID=HESAP.KIM ifadesi geçiyor uye tablosunda 35 üye var ve kayıtlarda ilk 35 olarak süzülüyor yani ilk 35 te hangi ay varsa o gözüküyorSelect UYE.ADI,UYE.BLOK,HESAP.AIDAT,HESAP.AODEME,HESAP.YAKIT,HESAP.YODEME,HESAP.AY,HESAP.YIL,HESAP.NOTC,' + 'HESAP.ID,sum(HESAP.AIDAT),sum(HESAP.AODEME),sum(hesap.aidat-hesap.aodeme)as aidatk,sum(HESAP.YAKIT),sum(HESAP.YODEME),sum(hesap.yakit-hesap.yodeme) as yakitk From ' + ' UYE,HESAP Where UYE.ID=HESAP.KIM and YIL LIKE '''+COMBOBOX1.text+'%'' AND AY LIKE '''+COMBOBOX2.text+'%'' and'+' ADI LIKE '''+Edit1.text+'%'' and blok LIKE '''+COMBOBOX3.text+'%'' group by hesap.kim
bunu nasıl çözerim bi çözüm yolu gösterin selamlar...
"Birzamanlar sizde Bilmiyordunuz"
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?
cevap için teşekkürler deneyeceğim
deneme no:6999999999978
yapana kadar deneyeceğim....
deneme no:6999999999978
yapana kadar deneyeceğim....
Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?
kodu düzelttim fakat bukod diğerleri ile aynı bi özellik göremedim bana ilk önce hesaplama yapıp bu hesaplamadan süzen kod lazım bu kod seçtiğim yeri hesaplıyo
Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?
SELAMLAR
Yeni konu açacaktım ancak forum kirliliği yaratmayayım diye açmadım
şimdi aşşağıdaki kodla yeni geçici sutunlar oluşturuluyor ben bunları nasıl mysql ye kalıcı şekilde kaydederim veya update olur çünkü sürekli güncellenecek
bunları uye table a update edip isimlerle çağırırsam günlerdir süren bu sorunum çözülmüş olacak
acele yardımlarınızı bekliyorum
Yeni konu açacaktım ancak forum kirliliği yaratmayayım diye açmadım
şimdi aşşağıdaki kodla yeni geçici sutunlar oluşturuluyor ben bunları nasıl mysql ye kalıcı şekilde kaydederim veya update olur çünkü sürekli güncellenecek
bunları uye table a update edip isimlerle çağırırsam günlerdir süren bu sorunum çözülmüş olacak
acele yardımlarınızı bekliyorum
Select HESAP.AIDAT, HESAP.AODEME,HESAP.YAKIT,HESAP.YODEME, HESAP.AY, HESAP.YIL, HESAP.NOTC, HESAP.ID, sum(HESAP.AIDAT), sum(HESAP.AODEME), sum(hesap.aidat-hesap.aodeme) as aidatk, sum(HESAP.YAKIT), sum(HESAP.YODEME), sum(hesap.yakit-hesap.yodeme) as yakitk, CASE WHEN YIL='2009' AND AY='EKİM' then sum(hesap.aidat-hesap.aodeme) else 0 END AS aidat From HESAP group by hesap.kim
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?
Öncelikle çalışan sorgu yazabilmelisin. Mesela sorgun çalışmaz.
. Hem burada kayıt değiştirmekte nasıl bir mantık yürütülebilir. Bilindiği gibi Group By ile aynı değerlere sahip bir çok satır tek bir satırda gösterilir ve o satırda bir bilgi değiştirildiği vakit nasıl bir davranış beklenilmektedir. Zira o satır bir çok kaydı temsil etmektedir. Acaba o değere sahip tüm kayıt satırlarını komple değiştirecek bir yapı mı lazım. Başka bir durum düşünemiyorum, zihnim hata veriyor
. Eğer öyle bile olsa o anda kullanılan sorgu bileşenleri buna izin vermeyebilir.
Sebebini izah etmiyorum ama belli oluyordur sanırımSelect HESAP.AIDAT, HESAP.AODEME,HESAP.YAKIT,HESAP.YODEME, HESAP.AY, HESAP.YIL, HESAP.NOTC, HESAP.ID, sum(HESAP.AIDAT), sum(HESAP.AODEME), sum(hesap.aidat-hesap.aodeme) as aidatk, sum(HESAP.YAKIT), sum(HESAP.YODEME), sum(hesap.yakit-hesap.yodeme) as yakitk, CASE WHEN YIL='2009' AND AY='EKİM' then sum(hesap.aidat-hesap.aodeme) else 0 END AS aidat From HESAP group by hesap.kim


Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?
sorguyu çalıştırdım ama işimi görmeyince onuda düzeltme gereği duymadım
işimi niye görmüyo açıklayayım
hesap.kim
alanı ile grup ladığım için 1.35 kadar olan üye id leri guruplanmış oluyor ve bu gurup içinden aya göre filtreleme yapılmıyor
ay ı da gruba dahil ettiğimizde ise 12 aylık bir grub olmuş oluyor ve buda her ay için kendi içinde hesap yapıyor ancak bu
sonuç hiç bir işime yaramıyor benim istediğim sonuç hesap.kim ile gruplanmış tüm kayıtların hesaplandığı bir sonuç ama ozamanda kayıt sayısı 36 ya düştüğü için
içinde zaten aylar yeralmıyor ilk yazılan ay çatısı altında birleşme oluyor
umarım yazdıklarım yeterlidir abim bak abi diyorum bilgine hürmet ederek ama anlamadığım madem günlerdir bu iş sadece benim kodları yazamamamdan kaynaklanıyordu
niye doğrusunu yazıp yollamadın beni aptal yerine koyup kendini sanki sende olan göz kimsede yokmuş gibi önce kodunu düzenle diyorsun kusura bakmada başkasına bişey söylerken karşındakinin emeklerini çabalarını yok saymak en büyük hakarettir ne olursan ol...
bak günlerce buna uğraşıyorum yaparsam öğrenirim bidaha unutmam diye bi umut
Anlamadınız dediğim sonderece mantıklı örneğin ordaki aidatk (hesaplama sonucu bulunan değerleri) sutunu değerlerini (zaten üye sayısı kadar olacak) üye tablosundaki aidatk sutununa yerleştirmek
bana yararı quikreportta hesaplama yaptırmadan isimler nasıl geliyor sırası ile bu değerlerin gelmeside üye tablosunda her ismin yanında kendi değeri olacağı için kaolayca gelecek
ve filtrelemede kolayca olacak böyle bişey yoksa yapılmaz diye söylerseniz yeterli ben Asp öğrendim bukadar kıt bilgi almadım kimseden en azından kaynak gösterdiler şurdaki kodlar işini görür vs. anlamıyorum bir nokta koyup yazcam yarın şurayada bir nokta konacaktı diye mesaj atmak ancak neyse...
Sitemim benim sorunum koddaki yanlışlık değilki o kodu dediğim gibi nasıl yapacağım bunu soruyordum bana hala virgül koymamışsın nokta koymamışsın hergün bir virgülü söyleyen var Allahtan beklemiyom kendim bulup o virgülü koyuyom yoksa bir ay daha sürer...
Eleştirmek kadar eleştirilmeyide kabullenmek büyük bir erdemdir.
UMARIM BU DEFA ANLAŞILIRIM
KIRDIYSAM HAKKINIZI HELAL EDİN
işimi niye görmüyo açıklayayım
hesap.kim
alanı ile grup ladığım için 1.35 kadar olan üye id leri guruplanmış oluyor ve bu gurup içinden aya göre filtreleme yapılmıyor
ay ı da gruba dahil ettiğimizde ise 12 aylık bir grub olmuş oluyor ve buda her ay için kendi içinde hesap yapıyor ancak bu
sonuç hiç bir işime yaramıyor benim istediğim sonuç hesap.kim ile gruplanmış tüm kayıtların hesaplandığı bir sonuç ama ozamanda kayıt sayısı 36 ya düştüğü için
içinde zaten aylar yeralmıyor ilk yazılan ay çatısı altında birleşme oluyor
umarım yazdıklarım yeterlidir abim bak abi diyorum bilgine hürmet ederek ama anlamadığım madem günlerdir bu iş sadece benim kodları yazamamamdan kaynaklanıyordu
niye doğrusunu yazıp yollamadın beni aptal yerine koyup kendini sanki sende olan göz kimsede yokmuş gibi önce kodunu düzenle diyorsun kusura bakmada başkasına bişey söylerken karşındakinin emeklerini çabalarını yok saymak en büyük hakarettir ne olursan ol...
bak günlerce buna uğraşıyorum yaparsam öğrenirim bidaha unutmam diye bi umut
Anlamadınız dediğim sonderece mantıklı örneğin ordaki aidatk (hesaplama sonucu bulunan değerleri) sutunu değerlerini (zaten üye sayısı kadar olacak) üye tablosundaki aidatk sutununa yerleştirmek
bana yararı quikreportta hesaplama yaptırmadan isimler nasıl geliyor sırası ile bu değerlerin gelmeside üye tablosunda her ismin yanında kendi değeri olacağı için kaolayca gelecek
ve filtrelemede kolayca olacak böyle bişey yoksa yapılmaz diye söylerseniz yeterli ben Asp öğrendim bukadar kıt bilgi almadım kimseden en azından kaynak gösterdiler şurdaki kodlar işini görür vs. anlamıyorum bir nokta koyup yazcam yarın şurayada bir nokta konacaktı diye mesaj atmak ancak neyse...
Sitemim benim sorunum koddaki yanlışlık değilki o kodu dediğim gibi nasıl yapacağım bunu soruyordum bana hala virgül koymamışsın nokta koymamışsın hergün bir virgülü söyleyen var Allahtan beklemiyom kendim bulup o virgülü koyuyom yoksa bir ay daha sürer...
Eleştirmek kadar eleştirilmeyide kabullenmek büyük bir erdemdir.
UMARIM BU DEFA ANLAŞILIRIM
KIRDIYSAM HAKKINIZI HELAL EDİN
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?
Anlaşılmazdaki sebep için mazeretlerim var. İşlerim çok yoğun. Cumartesi mesaisini pazar sabahı saat 08:00 de bürodan çıkarak tamamladım. Haliyle bu iş yoğunluğuma bu forumu enerji harcamak için değil toplamak için yüzeysel olarak tarıyorum. Ayrıca anlaşılmazdaki sebebin kaynağı da sorunun soruluşundaki eskiklerden de kaynaklanan kısımları da olabilir. Mesela XYZ Caddesi nerede diye sorarsın, ve aldığın tarife göre gidersin. Ama bir de bakarsın gitmek istediğin yer diğer uçtadır. O zaman sıkıntyı sen yaşarsın.
Ben hala ne istediğini anlamadığımdan, elindeki tablolar üzerinden yapısını ve kayıtlarını basit bir örnek olarak vermeni ve o kayıtlar üzerinden istediğin sonucu da belirtmeni isteyeceğim. Mesela
. Ayrıca join sorgular için göz gezdirilesi bir sayfa ..:viewtopic.php?t=9193
Ben hala ne istediğini anlamadığımdan, elindeki tablolar üzerinden yapısını ve kayıtlarını basit bir örnek olarak vermeni ve o kayıtlar üzerinden istediğin sonucu da belirtmeni isteyeceğim. Mesela
gibisinden bir soru oluşturabilir misin? Bu durumda adres tarifi almak yerine kolundan tutar gideceğin adrese bırakılırsın, yolu öğrenmek sana kalmış bir meseleÖrnekteki gibi Satışçılar, Satışlar ve Ürün tabloları var. Bunların ürünlere göre satış toplamını nasıl alırım?Kod: Tümünü seç
------------------------------------------------------ SATISCI URUNLER ---------------------- ---------------------- ID ADI ID URUN_ADI ---------------------- ---------------------- 1 ALİ 1 KALEM 2 VELİ 2 DEFTER 3 MEHMET 3 SİLGİ
Bu kayıtara göre aşağıdaki sonucu hangi sorguyla alabilirim?Kod: Tümünü seç
SATISLAR ------------------------------------------------------ SATISCI_ID URUN_ID SATISTUTARI SATIS_ADEDI ------------------------------------------------------ 1 3 2.5 1 1 1 1.4 2 2 3 2.4 1 3 2 5.2 2 2 3 3.0 1 2 2 2.8 1 3 1 4.5 6 3 3 6.9 3 1 2 8.2 3 2 1 2.5 3 1 1 0.6 1 ------------------------------------------------------
Kod: Tümünü seç
SORGU_SONUCU SATISCI_ADI URUN_ADI SATIS_TUTAR_TOPLAMI SATIS_ADET_TOPLAMI ---------------------------------------------------------------------- ALİ KALEM 2.0 3 ALİ DEFTER 8.2 3 ALİ SİLGİ 2.5 1 VELİ KALEM 2.5 3 VELİ DEFTER 2.8 1 VELİ SİLGİ 5.4 2 MEHMET KALEM 4.5 6 MEHMET DEFTER 5.2 2 MEHMET SİLGİ 6.9 3 ----------------------------------------------------------------------

Aşağıdaki sorguyla istenen sonuç alınacaktır.Kod: Tümünü seç
select satis.SATISCI_ID, satis.URUN_ID, sat.ADI as SATISCI_ADI, urn.URUN_ADI, sum(satis.SATISTUTARI) as SATIS_TUTAR_TOPLAMI, sum(satis.SATIS_ADEDI) as SATIS_ADET_TOPLAMI from SATISLAR as satis left join SATISCI as sat on sat.ID=satis.SATISCI_ID left join URUNLER as urn on urn.ID=satis.URUN_ID group by satis.SATISCI_ID, satis.URUN_ID
En son sabanakman tarafından 10 Haz 2009 11:00 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?
Günlerdir bu başlıktaki yeni mesajlara bakıyorum, ama tam olarak ne yapılmak isteniyor anlayamadım.
Bu yukarıdaki sorgu akıllara zarar veriyor. Öncellikle group by ile hesap.kim e dair gruplandırma yapılmış, ama select içinde hesap.yil, heap.yodeme gibi ifadeler var. Eger gruplandırma yaparsan, gruplandırma dışındaki bilgiler için sadece sum, count vb gibi gruplandırılmış alanlar üzerinde kümülatif işlem yapabilirsin. Hem hesap.kim diye group yapip, hem de hesap.ay i yazdir diyemezsin. Çünkü groupta hesap.kim diye yazinca kim adlı alana ait diger tüm bilgiler buna göre gruplandırılacaktır.
Örnegin: şu şekilde bir tablo olsun
Kim Ay Borc
Ali 01 200
Ali 02 300
Ali 03 400
Ahmet 02 100
Ahmet 03 100
Bu tabloda kim için grup kullanırsak, bize ali ve ahmet diye iki satır bilgi döner. Ay ve borç için kümülatif işlem yapabiliriz.
Yani
select kim,count(ay), sum(borc) from hesap group by kim
Çıktı
Ali - 3 - 900 // ali nin 3 ay ve toplam 900 borcu var
Ahmet - 2 -200 // ahmet in 2 ay ve toplam 200 borcu var
Aylara göre de grup yapabiliriz.
select ay, sum(borc) from hesap group by ay
Çıktı
1 - 200 // 1. aydaki toplam borc
2 - 400 // 2. aydaki toplam borc
3 - 500 // 3. aydaki toplam borc
İstersen hem ay ve hem de kim e göre de grup yapabilirsin.
select kim,ay,sum(borc) from hesap group by kim,ay
Çıktı- tablonun içeriğiyle aynı olur. Çünkü her kişi ve ay için tek kayıt var.
Temel sql i bildigini sanmıyorum, sağdan soldan buldugun kodlarla program yapmaya çalışıyorsun. Bu şekilde anlamadan yaptıgın için hem derdini anlatamıyorsun, hem de yardım edilmiyor vs diye dert yanıyorsun.
Kimse programcılığı anasının karnında ögrenmedi, ama böyle temel konuları bilmeden de program yazılmaz. Bu başlıktaki bir mesajda stringleri + ile birleştirmeyi bilmedigin anlaşılırken, sql ile rapor almaya kalkıyorsun.
Programcılık ciddi iştir, önce ufak tefek şeyler yaparak kendini geliştirmeli ve bol bol okumalısın.
Bu mesajdan hoşlanacagını sanmıyorum, ama birisinin yazması gerekiyordu.
Kod: Tümünü seç
Select HESAP.AIDAT, HESAP.AODEME,HESAP.YAKIT,HESAP.YODEME, HESAP.AY, HESAP.YIL, HESAP.NOTC, HESAP.ID, sum(HESAP.AIDAT), sum(HESAP.AODEME), sum(hesap.aidat-hesap.aodeme) as aidatk, sum(HESAP.YAKIT), sum(HESAP.YODEME), sum(hesap.yakit-hesap.yodeme) as yakitk, CASE WHEN YIL='2009' AND AY='EKİM' then sum(hesap.aidat-hesap.aodeme) else 0 END AS aidat From HESAP group by hesap.kim
Örnegin: şu şekilde bir tablo olsun
Kim Ay Borc
Ali 01 200
Ali 02 300
Ali 03 400
Ahmet 02 100
Ahmet 03 100
Bu tabloda kim için grup kullanırsak, bize ali ve ahmet diye iki satır bilgi döner. Ay ve borç için kümülatif işlem yapabiliriz.
Yani
select kim,count(ay), sum(borc) from hesap group by kim
Çıktı
Ali - 3 - 900 // ali nin 3 ay ve toplam 900 borcu var
Ahmet - 2 -200 // ahmet in 2 ay ve toplam 200 borcu var
Aylara göre de grup yapabiliriz.
select ay, sum(borc) from hesap group by ay
Çıktı
1 - 200 // 1. aydaki toplam borc
2 - 400 // 2. aydaki toplam borc
3 - 500 // 3. aydaki toplam borc
İstersen hem ay ve hem de kim e göre de grup yapabilirsin.
select kim,ay,sum(borc) from hesap group by kim,ay
Çıktı- tablonun içeriğiyle aynı olur. Çünkü her kişi ve ay için tek kayıt var.
Temel sql i bildigini sanmıyorum, sağdan soldan buldugun kodlarla program yapmaya çalışıyorsun. Bu şekilde anlamadan yaptıgın için hem derdini anlatamıyorsun, hem de yardım edilmiyor vs diye dert yanıyorsun.
Kimse programcılığı anasının karnında ögrenmedi, ama böyle temel konuları bilmeden de program yazılmaz. Bu başlıktaki bir mesajda stringleri + ile birleştirmeyi bilmedigin anlaşılırken, sql ile rapor almaya kalkıyorsun.
Programcılık ciddi iştir, önce ufak tefek şeyler yaparak kendini geliştirmeli ve bol bol okumalısın.
Bu mesajdan hoşlanacagını sanmıyorum, ama birisinin yazması gerekiyordu.
Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?
eleştirilmekten hiç bir zaman çekinmem yanlız niyet eleştirmekse hani derlerya niyeti üzüm yemek değil bağcıyı döğmek onun gibi bişey öğretecekseniz zaten foruma istediğiniz kadar yazabilirsiniz ancak bu işten vaz geçirmek yıldırmak nefret ettirmek istiyorsanız ozaman bırakın onu söyleyen siz olmayın şahsen ben olsam ki oldum site adı vermeyeyim hiç birzaman birilerinin emeklerine karşılık olmamış sen bu işi git bi oku öyle gel vs. demedim biliyosam anlattım
neyse
kullandığım tablolar
UYE
ID....ADI ......BLOK
1....SELMA....C
2....NURİ......D
3....KAZIM.....E
4....RİZA.......C
HESAP
ID.....KIM.......AIDAT.....AODEME.....YAKIT........YODEME..........AY...........YIL............NOT
1......1...........100........50............200............100.............OCAK......2009...........AİDATTAN 5 YTL VERİLECEK ÖRNEK NOT
1......1...........150........50............200............100.............ŞUBAT......2009...........
1......2...........400........50............200............100.............NİSAN......2009...........
1......2...........100........50............200............100.............MAYIS......2009...........
1......3...........170........50............200............100.............HAZİRAN......2009...........
1......4...........100........50............200............100.............TEMMUZ......2009...........
1......3...........300........50............200............100.............AĞUSTOS......2009...........
1......1...........100........50............200............100.............EYLÜL......2009...........
Programda şöyle bişey yaptım bir form düşünün ordan ayı yılı ve diğer comboboztan tüm üyeleri veya sadece b blok u vs. seçiyor borçlanacağı miktarları giriyorsunuz borçlandır dediğiniz zaman seçtiğiniz kişileri veya bloku yukardaki gibi borçlandırıyor sonrasında yaptığımız iş ise db gridde ödeme yapılacak ayı vs. seçip kişiyi bulup ödemesini kaydetmek bunlar bitti sorun yok şimdi quik reportta çıktı alınca şöyle olmalı
blok.....adi........aidat......kalan(bukişinin şidiye kadarki aydat ve ödeme sonucu kalan miktar)
c........selma......100.........200(tüm aylar yıllar dahil 10 tl kalmış yani)
e.........kazım.....50
ya bu anlattıklarımı yapıyorum ancak şurada sorun çıkıyor gurupladığım hesap.kim e göre grupladığım zaman aidat kısmında sadece hesap tablosunda ilk id ye sahip ayın aidatı gözüküyor yani aidat 100 oluyor yukarıya göre ve ben ayı combodan şubat yaptığımda şubat ayına ait aydat gözükmüyor yine 1. id li ay gözüküyor ocak oluyor oysa normalde
şubat ayındaki aidatı ve kalanı (bu kalan her ayda aynı olur hesap tüm ayları kapsadığı için) göstermesi lazım hadi çıkın işin içinden
kolay gelsin
neyse
kullandığım tablolar
UYE
ID....ADI ......BLOK
1....SELMA....C
2....NURİ......D
3....KAZIM.....E
4....RİZA.......C
HESAP
ID.....KIM.......AIDAT.....AODEME.....YAKIT........YODEME..........AY...........YIL............NOT
1......1...........100........50............200............100.............OCAK......2009...........AİDATTAN 5 YTL VERİLECEK ÖRNEK NOT
1......1...........150........50............200............100.............ŞUBAT......2009...........
1......2...........400........50............200............100.............NİSAN......2009...........
1......2...........100........50............200............100.............MAYIS......2009...........
1......3...........170........50............200............100.............HAZİRAN......2009...........
1......4...........100........50............200............100.............TEMMUZ......2009...........
1......3...........300........50............200............100.............AĞUSTOS......2009...........
1......1...........100........50............200............100.............EYLÜL......2009...........
Programda şöyle bişey yaptım bir form düşünün ordan ayı yılı ve diğer comboboztan tüm üyeleri veya sadece b blok u vs. seçiyor borçlanacağı miktarları giriyorsunuz borçlandır dediğiniz zaman seçtiğiniz kişileri veya bloku yukardaki gibi borçlandırıyor sonrasında yaptığımız iş ise db gridde ödeme yapılacak ayı vs. seçip kişiyi bulup ödemesini kaydetmek bunlar bitti sorun yok şimdi quik reportta çıktı alınca şöyle olmalı
blok.....adi........aidat......kalan(bukişinin şidiye kadarki aydat ve ödeme sonucu kalan miktar)
c........selma......100.........200(tüm aylar yıllar dahil 10 tl kalmış yani)
e.........kazım.....50
ya bu anlattıklarımı yapıyorum ancak şurada sorun çıkıyor gurupladığım hesap.kim e göre grupladığım zaman aidat kısmında sadece hesap tablosunda ilk id ye sahip ayın aidatı gözüküyor yani aidat 100 oluyor yukarıya göre ve ben ayı combodan şubat yaptığımda şubat ayına ait aydat gözükmüyor yine 1. id li ay gözüküyor ocak oluyor oysa normalde
şubat ayındaki aidatı ve kalanı (bu kalan her ayda aynı olur hesap tüm ayları kapsadığı için) göstermesi lazım hadi çıkın işin içinden
kolay gelsin
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?
Yine yanlış anlamış olabilirim ama istek sadece belirli ayın listesi ise basit bir where şartı bunu sağlayacaktır. Yine bir join işlemi ile gerekli eş kayıtlar gelecektir.
Kod: Tümünü seç
select * from UYE
left join HESAP on UYE.ID=HESAP.KIM
where AY='OCAK'
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?
Biraz yaklaştınız
sum(HESAP.AIDAT), sum(HESAP.AODEME), sum(hesap.aidat-hesap.aodeme) as aidatk, sum(HESAP.YAKIT), sum(HESAP.YODEME), sum(hesap.yakit-hesap.yodeme) as yakitk
bu hesap yapılsın istiyorum ancak sıkıntı şu
aşşağıdan ayı ve yılı seçince hesap sadece o seçtiğim ayın değerleri üzerinden yapılıyor borç kısmına kişinin geçmişteki borcu yansımıyor (örnek daha önceki yıldan aydan kalan ). sadece o ay için nekadar ödemiş nekadar kalmış o hesabı gözüküyor bunu birtürlü düzeltemedim.

http://img188.imageshack.us/img188/6001/askia.jpg
Burayı okumadan geçmeyin diğer yerler ek bilgi olsun diye yazdım...
bu kodu çalıştırdığımda guruplama sonunda grup by hesap.kim olunca tüm aynı kim noya sahip üyeler birleşiyor 1....36 ya kadar bir liste çıkıyor bu listenin hesap kısmı tam istediğim gibi oluyor tüm ay ve yılları kapsayan bir sonuç çıkıyor fakat seçilen aya gidilemiyor nedeni çok basit çünkü birleştirme sonucu ay sutunu değerleri aşşağıdaki hesap tablosundaki ilk 1.....36 nın ay değerlerini alıyor yani tek bir ay oluyor ve başka bir ay bulunamıyor aidat ta ilk 1...36 nın aidatı oluyor diğerleride ilk 1...36 ya eşitleniyor bugüne kadar verilen kodlarla bunuda hallettim istediğim ayın aidatını görüyom fakat buseferde hesaplar sadece o ay için yapılmış oluyor
uye tablosu
id
1
.
.
.
36 ya kadar
hesap tablosu
kim
1
.
.
.
36
.
.
.
1
.
.
.
36
.
.
.
1
.
.
.
36 böyle devam ediyor
Yukarıda resimdeki borç sutunu değerlerini uye tablosunda oluşturduğum sutuna veya kodlarla oluşturulacak sutuna satırı satırına kaydetme şansım varmı böle bişey varsa çok basit şekilde çözülecek bu sorun
veya
Aşşağıdaki form dan yıl ve ayı seçtiğimde hem o yılın o ayına ait aidatlar listelensin hemde borç kısmındasabanakman yazdı:Yine yanlış anlamış olabilirim ama istek sadece belirli ayın listesi ise basit bir where şartı bunu sağlayacaktır. Yine bir join işlemi ile gerekli eş kayıtlar gelecektir.Kod: Tümünü seç
select * from UYE left join HESAP on UYE.ID=HESAP.KIM where AY='OCAK'
sum(HESAP.AIDAT), sum(HESAP.AODEME), sum(hesap.aidat-hesap.aodeme) as aidatk, sum(HESAP.YAKIT), sum(HESAP.YODEME), sum(hesap.yakit-hesap.yodeme) as yakitk
bu hesap yapılsın istiyorum ancak sıkıntı şu
aşşağıdan ayı ve yılı seçince hesap sadece o seçtiğim ayın değerleri üzerinden yapılıyor borç kısmına kişinin geçmişteki borcu yansımıyor (örnek daha önceki yıldan aydan kalan ). sadece o ay için nekadar ödemiş nekadar kalmış o hesabı gözüküyor bunu birtürlü düzeltemedim.

http://img188.imageshack.us/img188/6001/askia.jpg
Kod: Tümünü seç
Select UYE.ADI,UYE.BLOK,HESAP.AIDAT, HESAP.AODEME,HESAP.YAKIT,HESAP.YODEME, HESAP.AY, HESAP.YIL, HESAP.NOTC, HESAP.ID, sum(HESAP.AIDAT),'+'sum(HESAP.AODEME), sum(hesap.aidat-hesap.aodeme) as aidatk, sum(HESAP.YAKIT), sum(HESAP.YODEME), sum(hesap.yakit-hesap.yodeme) as yakitk , CASE WHEN YIL='''+COMBOBOX1.text+''' AND AY='''+COMBOBOX2.text+''' then '+'sum(hesap.aidat-hesap.aodeme) else 0 End AS aidatiko From UYE, HESAP Where UYE.ID=HESAP.KIM group by hesap.kim
bu kodu çalıştırdığımda guruplama sonunda grup by hesap.kim olunca tüm aynı kim noya sahip üyeler birleşiyor 1....36 ya kadar bir liste çıkıyor bu listenin hesap kısmı tam istediğim gibi oluyor tüm ay ve yılları kapsayan bir sonuç çıkıyor fakat seçilen aya gidilemiyor nedeni çok basit çünkü birleştirme sonucu ay sutunu değerleri aşşağıdaki hesap tablosundaki ilk 1.....36 nın ay değerlerini alıyor yani tek bir ay oluyor ve başka bir ay bulunamıyor aidat ta ilk 1...36 nın aidatı oluyor diğerleride ilk 1...36 ya eşitleniyor bugüne kadar verilen kodlarla bunuda hallettim istediğim ayın aidatını görüyom fakat buseferde hesaplar sadece o ay için yapılmış oluyor
uye tablosu
id
1
.
.
.
36 ya kadar
hesap tablosu
kim
1
.
.
.
36
.
.
.
1
.
.
.
36
.
.
.
1
.
.
.
36 böyle devam ediyor
Yukarıda resimdeki borç sutunu değerlerini uye tablosunda oluşturduğum sutuna veya kodlarla oluşturulacak sutuna satırı satırına kaydetme şansım varmı böle bişey varsa çok basit şekilde çözülecek bu sorun
veya
buna benzer sorgu ile ben yapamadım belki fikir veririsum(hesap.aidat-hesap.aodeme) as aidatk from uye,hesap Where UYE.ID=HESAP.KIM group by hesap.kim) as borc,( SELECT sum(hesap.yakit-hesap.yodeme) as yakitk from uye,hesap Where UYE.ID=HESAP.KIM group by hesap.kim) as borc2 From UYE, HESAP Where UYE.ID=HESAP.KIM and YIL='2009' AND AY='EYLÜL' group by hesap.kim