lostyazilim
tr.link

[Çözüldü]Php Left Join ile 2 tablodan veri çekme

5 Mesajlar 751 Okunma
acebozum
tr.link

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)
amacım
iletisim tablosunda kayıtlı bilgilere sahip kullanıcının(sira degeri) mesajlarını ve bu kullanıcıya yöneticinin vermiş olduğu cevapları birleştirip foreach döngüsünde yazdırmak istiyorum
ana tablom iletisim (1veri var)
->sira
->ad
->posta
->kod
->tarih
->ip
iletisim_mesajlari tablosu (1veri var)
->sira
->mesajsira
->mesaj
->tarih
iletisim_cevap tablosu (0 veri var)
->sira
->mesajsira
->cevap
->tarih

"SELECT
iletisim_mesaj.*,iletisim_cevap.*
from iletisim
INNER JOIN iletisim_mesaj ON iletisim.sira=iletisim_mesaj.mesajsira
INNER JOIN iletisim_cevap on iletisim.sira=iletisim_cevap.mesajsira
where iletisim.sira=1"

size hata nerede ? Phpmyadminde denedim sonuç dönmedi ancak hatada vermedi

Çözdüm
bana lazım olan asıl şey iletisim_mesaj tablosunda olan formdan gelen mesajlar formdan gelen mesajlar varsa ve iletisim_cevap tablosunda cevap varsa

SELECT
im.*,ic.cevap,ic.tarih
from iletisim_mesaj as im
left join iletisim_cevap as ic
on im.sira=ic.mesajsira
where im.mesajsira=1

sol tarafta eşleşen verilerin hepsini al sağ tarafta veri varsa al yoksa null döndür
 

 

wmaraci
reklam

Gerilim Gerilim www.giyse.com Kullanıcı
  • Üyelik 27.08.2011
  • Yaş/Cinsiyet 31 / E
  • Meslek Bilgi İşlem
  • Konum Çanakkale
  • Ad Soyad B** Ö**
  • Mesajlar 1922
  • Beğeniler 496 / 496
  • Ticaret 20, (%100)
1 e 1 de INNER JOIN 1 e n 'de left yada right kullanmalısın.
Yani 1 kullanıcının birden fazla mesajı olabilir.
 

 

Giyse.com - Giyim Moda, Ayakkabı, Çanta ve Aksesuar Online Alışveriş

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)

Gerilim adlı üyeden alıntı

1 e 1 de INNER JOIN 1 e n 'de left yada right kullanmalısın.
Yani 1 kullanıcının birden fazla mesajı olabilir.


Hocam konuyu yavaş yavaş kavrıyorum 1den fazla tabloda işlem yapabilen kodlar gördüm :(
Örnek sunabilir misiniz?
 

 

KadirCeyhan KadirCeyhan WM Aracı Kullanıcı
  • Üyelik 23.10.2016
  • Yaş/Cinsiyet 27 / E
  • Meslek Öğrenci
  • Konum Denizli
  • Ad Soyad K** C**
  • Mesajlar 689
  • Beğeniler 0 / 203
  • Ticaret 6, (%100)
SELECT a.fiyat, b.kod, c.miktar FROM Tablo_1 a, Tablo2 b, Tablo3 c WHERE a.id = 3 AND b.tip = 2 AND c.isim = 'Kadir'

Bu şekilde de 2 veya daha fazla tabloyla çalışabilirsiniz.
 

 

wmaraci
wmaraci

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)

KadirCeyhan adlı üyeden alıntı

SELECT a.fiyat, b.kod, c.miktar FROM Tablo_1 a, Tablo2 b, Tablo3 c WHERE a.id = 3 AND b.tip = 2 AND c.isim = 'Kadir'

Bu şekilde de 2 veya daha fazla tabloyla çalışabilirsiniz.


hallettim sonunda left join çözdü :)
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al