İnner join ile bir sıkıntım var ?
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.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (4)
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 ?
$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.
çok teşekkur ediyorum and kullanilabilecegi hic aklima gelmedi kolay gelsin.
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