Acceses ile 3 tablo birleşimi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
lom
Üye
Mesajlar: 135
Kayıt: 25 Nis 2006 02:37

Acceses ile 3 tablo birleşimi

Mesaj gönderen lom »

s.a kolay gelsin arkadaşlar.
Accsesde yapmış olduğum 3 tablo var , bu tabloları sql sorgusunda LEFT jOIN ile birleştirmek istiyorum ancak sorgum çalışmıyor.

Kod: Tümünü seç

SELECT * FROM HASTA
LEFT JOIN HASTABILGILERI ON (HASTA.HASTA_ID=HASTABILGILERI.HASTA_ID)
LEFT JOIN TANI ON (HASTABILGILERI.HASTABILGILERI_ID=TANI.HASTABILGILERI_ID)
Nerede hata yapıyorum acaba ?
Kolay gelsin
Kullanıcı avatarı
lom
Üye
Mesajlar: 135
Kayıt: 25 Nis 2006 02:37

Re: Acceses ile 3 tablo birleşimi

Mesaj gönderen lom »

sorunumu hala çözemedim :oops:
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Acceses ile 3 tablo birleşimi

Mesaj gönderen mkysoft »

parantezlerle hangi tablonun hangi tabloya join olduğunu göstermelisiniz, eğer doğru yerleri bulamazsınız, access içindeki sorgu sihirbasından yararlanın.
Kullanıcı avatarı
lom
Üye
Mesajlar: 135
Kayıt: 25 Nis 2006 02:37

Re: Acceses ile 3 tablo birleşimi

Mesaj gönderen lom »

parantezlerden kastınızı anlayamadım hocam ?

hastabilgileri tablosu ile hasta tablosundaki HASTA_Id değerini kontrol ediyorum ve
tani tablosu ile hastabilgileri tablosundaki HASTABILGILERI_Id değerlerini kontrol ediyorum.
düşünüyorum acaba tanı tablosunda aradığım değerin hasta tablosundada olması gerekli. ama onuda farklı şekilde denedim yine olmadı.

Sql yüklü olmadığından onda da deneyemiyorum.
Teşekkürler kolay gelsin

Kod: Tümünü seç

    SELECT * FROM HASTA
    LEFT JOIN HASTABILGILERI ON (HASTA.HASTA_ID=HASTABILGILERI.HASTA_ID)
    LEFT JOIN TANI ON (HASTABILGILERI.HASTABILGILERI_ID=TANI.HASTABILGILERI_ID)
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: Acceses ile 3 tablo birleşimi

Mesaj gönderen sabanakman »

Çalışması lazım gibi duruyor, ne hata alıyorsunuz.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
lom
Üye
Mesajlar: 135
Kayıt: 25 Nis 2006 02:37

Re: Acceses ile 3 tablo birleşimi

Mesaj gönderen lom »

eksik işleç hatası alıyorum.
2 left joini teke indirdiğimde çalışıyor sorunsuz. yani 2 left joinde de sorun yok ama ikisini birden kullandığımda hata veriyor :idea:
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Acceses ile 3 tablo birleşimi

Mesaj gönderen mkysoft »

SQL değil microsoft access programında sorgu sihirbazı. parantez derken, joinleri parantez içine alarak deneyin.
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: Acceses ile 3 tablo birleşimi

Mesaj gönderen sabanakman »

Hakikaten 3. left join i direkt yazınca hata geliyor.
mkysoft yazdı:SQL değil microsoft access programında sorgu sihirbazı. parantez derken, joinleri parantez içine alarak deneyin.
2 Left join i teke düşürüp oradan 3. tabloya join yapmak gerekiyor.

Kod: Tümünü seç

select * from
 (SELECT * FROM HASTA
 LEFT JOIN HASTABILGILERI ON (HASTA.HASTA_ID=HASTABILGILERI.HASTA_ID)) as HST

  LEFT JOIN TANI ON (HST.HASTABILGILERI_ID=TANI.HASTABILGILERI_ID)
Ş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: Acceses ile 3 tablo birleşimi

Mesaj gönderen emin_as »

Kod: Tümünü seç

SELECT * FROM HASTA
LEFT JOIN HASTABILGILERI ON (HASTA.HASTA_ID=HASTABILGILERI.HASTA_ID)
LEFT JOIN TANI ON (HASTABILGILERI.HASTABILGILERI_ID=TANI.HASTABILGILERI_ID)
Sorun tani dosyasini hasta degil hastabilgileriyle join ediyorsun.

Denemedim ama aşagıdaki kodların çalışması gerekir.

Kod: Tümünü seç

SELECT * FROM HASTABILGILERI
LEFT JOIN HASTA ON (HASTA.HASTA_ID=HASTABILGILERI.HASTA_ID)
LEFT JOIN TANI ON (HASTABILGILERI.HASTABILGILERI_ID=TANI.HASTABILGILERI_ID)
veya

Kod: Tümünü seç

SELECT * FROM HASTA H, HASTABILGILERI B, TANI T 
where H.HASTA_ID=B.HASTA_ID and B.HASTABILGILERI_ID=T.HASTABILGILERI_ID
Cevapla