inner join yapısı ve lookup field

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ı
droxee
Üye
Mesajlar: 86
Kayıt: 15 May 2009 04:29

inner join yapısı ve lookup field

Mesaj gönderen droxee »

kolay gelsin herkese benim şöyle bir problemim var delphi 7 firebird 2.5 ibdataset bir bağlantım var lookup fieldler program açılışını yavaşlattığından inner join yapısını kullan dediler.
tablomda boş bir cell bulunmamakta.tablomda 2500 kayıt var fakat yazdığım bu kod dizesinde hata vermeden boş tablomu göstermekte.problem nerede?

Kod: Tümünü seç

select  a.envanter_kod,a.BARKOD_NO,a.CIHAZ_NO,b.tip_ad,c.ALT_TIP_AD,d.BIRLIK_AD,e.ALT_BIRLIK_AD,f.BINA_AD,g.ODA_AD,h.MARKA_AD,i.MODEL_AD,j.AMAC_AD,k.DURUM_AD,l.baglanti_tip,m.birim_deger,m.birim_tip,a.TARIH,a.STOK_NO,a.ACIKLAMA,a.SAYIM,a.KY_KOD from TBL_ENVANTER a,tbl_tip b,tbl_alt_tip c,tbl_birlik d,tbl_alt_birlik e,tbl_bina f,tbl_oda g,tbl_marka h,tbl_model i,tbl_amac j,tbl_durum k,tbl_baglanti l,tbl_birim m
inner join tbl_tip on (a.tip_kod=b.tip_kod)
inner join tbl_alt_tip on (a.alt_tip_kod=c.alt_tip_kod)
inner join tbl_birlik on (a.birlik_kod=d.birlik_kod)
inner join tbl_alt_birlik on (a.alt_birlik_kod=e.alt_birlik_kod)
inner join tbl_bina on (a.bina_kod=f.bina_kod)
inner join tbl_oda on (a.oda_kod=g.oda_kod)
inner join tbl_marka on (a.marka_kod=h.marka_kod)
inner join tbl_model on (a.model_kod=i.model_kod)
inner join tbl_amac on (a.amac_kod=j.amac_kod)
inner join tbl_durum on (a.durum_kod=k.durum_kod)
inner join tbl_baglanti on (a.baglanti_kod=l.baglanti_kod)
inner join tbl_birim on (a.birim_kod=m.birim_kod)
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: inner join yapısı ve lookup field

Mesaj gönderen unicorn64 »

join kullanırken fromdan sonra tek bir tablo yazmalısınız...

Kod: Tümünü seç

select * from tablo1 a
inner join tablo2 b on a.alanX=b.alanY 
inner join tablo3 c on a.alanZ=c.alanT
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
Kullanıcı avatarı
droxee
Üye
Mesajlar: 86
Kayıt: 15 May 2009 04:29

Re: inner join yapısı ve lookup field

Mesaj gönderen droxee »

sonuç yine aynı ama neden boş değer döndürür?
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: inner join yapısı ve lookup field

Mesaj gönderen mrmarman »

Kriterlerden biri veya birkaçı trafiği bloke etmiş olmalı.

Bu kadar INNER JOIN kullanmak zorunluluğu var mı o ayrı bir tartışma konusu ama şunu dene; önce asıl SELECT satırını hazırla ve kaç tane sonuç döndüğünü not et, sonra ilk JOIN satırını ekle, yeniden incele bu sayı azaldı mı, INNER JOIN iki tablonun kesişim kümesini verir.

Resim

Bu resimdeki SARI renkli bölgeyi verir. Sen ne kadar INNER JOIN eklersen o kadar tabloya söz hakkı vermiş olursun ki, bu durumda ortak payda azaldıkça azalır. :idea:
Resim
Resim ....Resim
Cevapla