v2.5.2
Giriş yap

İnner join ile bir sıkıntım var ?

dengesiz1122
259 defa görüntülendi

merhabalar
şöyle bir problemim var

islem tablosu adında bir tabloma işlemi açan
ve işlemi yapan diye iyi id ekliyorum

inner join ile iki serfer kullanici
tablosunu nasıl bağlıyacağımı bilemedim şu şekilde denedim

mysql

select * from tbl_ islem
inner join tbl_kullanici on tbl_islem.islem_acan = tbl_kullanici.id
inner join tbl_kullanici on tbl_islem.islem_yapan = tbl_kullanici.id

bu sekilde listeledigimde hata veriyor

tesekurler.

Cevap yaz
Cevaplar (4)
hakanarslan
586 gün önce
SELECT islem, max(k1.kullaniciadi) AS islemYapan, max(k2.kullaniciadi) AS islemAcan FROM randevu 
LEFT JOIN kullanici k1 ON randevu.islem_yapan = k1.id 
LEFT JOIN kullanici k2 ON randevu.islem_acan = k2.id 
GROUP BY islem

Şöyle bir şey istiyorsun sanırım ?

dengesiz1122
586 gün önce
    $query = "SELECT * FROM trp_randevu INNER JOIN trp_user ON trp_randevu.randevu_alan_id = trp_user.user_id AND trp_randevu.randevu_acan_id = trp_user.user_id WHERE randevu_dolu_bos = 1 ORDER BY trp_randevu.randevu_id DESC";

bu şekilde döndürdüm ama sonuç sıfır yani hem randevu açan hemde uyeler ikiside aynı tabloda sakladım randevuların takibi için admin panelinden kim açmış kim almış bunu görmek istiyorum ama ikinci bir sorgu çalıştırmadan bunu başaramadım sanırsam iki sorgu yapmalıyım.

dengesiz1122
586 gün önce

çok teşekkur ediyorum and kullanilabilecegi hic aklima gelmedi kolay gelsin.

hakanarslan
586 gün önce

Ne yapmak istediğini tam anlamadım ama aynı tabloyu ikinci kez join etmek yerine şu şekilde kullanılır genelde,

select * from tbl_ islem
inner join tbl_kullanici on tbl_islem.islem_acan = tbl_kullanici.id and tbl_islem.islem_yapan = tbl_kullanici.id