sql join

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Vital
Üye
Mesajlar: 280
Kayıt: 01 Oca 2008 08:50

sql join

Mesaj gönderen Vital »

merhaba arkadaslar
2 tane tablom var
genel(master) ve satis(detail) adinda

genelid alanlari ortak

su sekilde bir sorgulama yapmak istiyorum.
genelid adi soyadi genelid satisid yasi kilosu
gibi yani satis tablosundaki genelid ile genel tablosundaki genelid nosu esit kayitlari listeleyecek tek db gridde

1 ahmet bulut 1 4 12 45
2 kadir guzel 2 7 44 80

bu nun gibi arkadaslar.join yapisini kullanmaya calistim ama beceremedim .

yardimlariniz icin tskler
Garibanus
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: sql join

Mesaj gönderen unicorn64 »

sql sorgunu yazsan da, biz de nerede hata yaptığını görüp söylesek...

her iki tabloda da olan kayıtlar için inner join kullanılır.

genel yapısı

Kod: Tümünü seç

select [kolon listesi] from tablo1
inner join tablo2 on tablo1.baglantikolonu=tablo2.baglantikolonu
yani

Kod: Tümünü seç

select genel.genelid, adi, soyadi, satis.genelid, satisid, yasi, kilosu from satis
inner join genel on genel.genelid=satis.genelid
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
Vital
Üye
Mesajlar: 280
Kayıt: 01 Oca 2008 08:50

Re: sql join

Mesaj gönderen Vital »

tskler unicorn

yontemini deneyecegim peki su sekilde olmaz mi

select genel.genelid, adi, soyadi, satis.genelid, satisid, yasi, kilosu from genel,satis where genel.geneldetail=satisgeneldetail

test ettim istedigimi veriyor.
kisacasi adi soyadini genel den yasi kilosunu da satis dan aliyor. iki tabloda karislik gelen id alanlarindan referans aliyor tek bir satirda kaydi veriyor.

ve bu kayitlari dbgrid e listeledigimde field basliklarini nasil ayarlayabilirim ve kolon genisliklerini nasil ayarlarim.field larin ismini oldugu gibi atiyor.ve 3. bir tabloyuda bu bu sekilde nasilbaglayabilirim. yani satis in detail tablosu nu

tskler.
Garibanus
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: sql join

Mesaj gönderen conari »

dbgrid in field editöründen field ların caption alanlarını değiştirebilirsiniz.
3. tabloyuda aynı şekilde bu sorguya ekleyin ve where içerisinde gerekli eşleştirmeleri yapmalısınız.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: sql join

Mesaj gönderen unicorn64 »

en iyisi sen buraya bir bak.


belirttiğin şekilde fromdan sonra tüm tabloları yazıp where kısmında ilişki kurman inner join in ilkel hali,
ama mesela ilişki kurulan tablolardan birinde olup diğerinde olmayan kayıtları veren outer joinler için bu şekilde bir kullanım yok ve yeri geldiğinde (ki çok gelir) left outer yada right outer join yapman gerekebilir...
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
Vital
Üye
Mesajlar: 280
Kayıt: 01 Oca 2008 08:50

Re: sql join

Mesaj gönderen Vital »

onerin icin sagol arkadas.
tskler
Garibanus
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: sql join

Mesaj gönderen sabanakman »

Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Vital
Üye
Mesajlar: 280
Kayıt: 01 Oca 2008 08:50

Re: sql join

Mesaj gönderen Vital »

tsk saban

ornek bir yardimlasma.

formda bazilari yardim olacagina bir soryua(genel olarak konusuyorum) sanki soru soranı azarlıyorlar .

neyse tskler
Garibanus
Cevapla