kayıt sorgulama ve ekleme

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ı
Nick_
Üye
Mesajlar: 122
Kayıt: 01 Eki 2007 09:28
Konum: Konya

kayıt sorgulama ve ekleme

Mesaj gönderen Nick_ »

S.a Arkadaslar
tabloA
id
..
..
..

tabloB
id
...
...
...

tabloC
id
..
..
..

tabloD
id
idA
idB
idC
..
..

yukardakı gibi tablolarım var kullandıgım bılesenler ise ibdatabase,ibquery,ibtransaction..

bu tabloları bırbırlerıne baglayıp bazı sorgulamalar yapmak ıstıyorum. sorgu olarakda asagıdakı gıbı bır sorgu kullanıyorum

'SELECT d.id,a.name,b.name,c.name FROM tablod d, tabloA a, tabloB b, tabloC c WHERE (d.idA=a.id) AND (d.idB=b.id) AND(d.idC=c.id)';

ancak sorguyu calıstırdıgımda aynı kayıttan 2 şer 2 şer gelıyor. bunun sebebı nedır? sql sorgusunda bı hatamı var acaba?

kayıt gırerkende aynı sekılde kaydı 2 ser 2 ser gosterıyor gridde, db de ise tek kayıt gorunuyor.:s
Bilmemek ayıp değil öğrenmek isteyene öğretmemek ayıp:)
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: kayıt sorgulama ve ekleme

Mesaj gönderen aslangeri »

s.a.
select sorgunuzda distinct kullanırsanız kayıt sayısı 1 e düşer.
join işleminden kaynaklanıyordur.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
Nick_
Üye
Mesajlar: 122
Kayıt: 01 Eki 2007 09:28
Konum: Konya

Re: kayıt sorgulama ve ekleme

Mesaj gönderen Nick_ »

@aslangeri
Teşekkürler. Kayıtları artık tek tek gösteriyor.
Bilmemek ayıp değil öğrenmek isteyene öğretmemek ayıp:)
Cevapla