Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?

Mesaj gönderen conari »

Maalesef Proxy oraya da izin vermiyor. :(
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
pelitt
Üye
Mesajlar: 148
Kayıt: 18 May 2009 10:06

Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?

Mesaj gönderen pelitt »

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
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?

Mesaj gönderen aslangeri »

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

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...
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.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
pelitt
Üye
Mesajlar: 148
Kayıt: 18 May 2009 10:06

Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?

Mesaj gönderen pelitt »

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

Resim
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
Kullanıcı avatarı
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ı ?

Mesaj gönderen sabanakman »

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.
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
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 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
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üyor
bunu nasıl çözerim bi çözüm yolu gösterin selamlar...
"Birzamanlar sizde Bilmiyordunuz"
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.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
pelitt
Üye
Mesajlar: 148
Kayıt: 18 May 2009 10:06

Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?

Mesaj gönderen pelitt »

cevap için teşekkürler deneyeceğim
deneme no:6999999999978
yapana kadar deneyeceğim....
pelitt
Üye
Mesajlar: 148
Kayıt: 18 May 2009 10:06

Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?

Mesaj gönderen pelitt »

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
pelitt
Üye
Mesajlar: 148
Kayıt: 18 May 2009 10:06

Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?

Mesaj gönderen pelitt »

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
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
Kullanıcı avatarı
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ı ?

Mesaj gönderen sabanakman »

Öncelikle çalışan sorgu yazabilmelisin. Mesela sorgun çalışmaz.
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
Sebebini izah etmiyorum ama belli oluyordur sanırım :mrgreen: . 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 :twisted: . Eğer öyle bile olsa o anda kullanılan sorgu bileşenleri buna izin vermeyebilir.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
pelitt
Üye
Mesajlar: 148
Kayıt: 18 May 2009 10:06

Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?

Mesaj gönderen pelitt »

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
Kullanıcı avatarı
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ı ?

Mesaj gönderen sabanakman »

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
Ö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İ

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
------------------------------------------------------
Bu kayıtara göre aşağıdaki sonucu hangi sorguyla alabilirim?

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
----------------------------------------------------------------------
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 :wink: . Ayrıca join sorgular için göz gezdirilesi bir sayfa ..:viewtopic.php?t=9193
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. - .
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?

Mesaj gönderen emin_as »

Günlerdir bu başlıktaki yeni mesajlara bakıyorum, ama tam olarak ne yapılmak isteniyor anlayamadım.


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
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.
pelitt
Üye
Mesajlar: 148
Kayıt: 18 May 2009 10:06

Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?

Mesaj gönderen pelitt »

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
Kullanıcı avatarı
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ı ?

Mesaj gönderen sabanakman »

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. - .
pelitt
Üye
Mesajlar: 148
Kayıt: 18 May 2009 10:06

Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?

Mesaj gönderen pelitt »

Biraz yaklaştınız
sabanakman 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'
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ında
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.

Resim
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 
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
sum(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
buna benzer sorgu ile ben yapamadım belki fikir veriri
Cevapla