Erlik adlı üyeden alıntı: mesajı görüntüle
Arkadaşlar ben bu sql işlerine iyice merak saldım ve birkaç prje yapmaya başladım ama tabikide takıldığım noktalar oluyor.

Veritabanında bir tablodan koşullu olarak veri çekebilir miyiz?

örneğin ;
  • smf_shop_inventory isminde bir tablom var ve içerisinde userid ve itemid sütunu var.
  • smf_members isminde bir başka tablo daha var ve içerisinde member_name ve userid sütunu var.
şimdi burada yapmak istediğim şu ;

smf_shop_inventory içerisindeki userid değerindeki sayının smf_members tablosunda karşılık gelen member_name ismini nasıl çekebilirim?


mesela smf_shop_inventory içerisinde itemid=10 , userid=1 olan bir satır olsun.Ek olarak itemid=20 , userid=2 olan bir başka satır olsun.

userid 1 ve 2 değeri smf_members içerisinde kullanici1 ve kullanici2 'ye karşılık geliyor.Bu kullanici1
ve kullanici2 değerini php kodlarıyla nasıl çekebilirim?
Mantığı şu şekilde en basit haliyle:

select t1.*, t2.* from tablo1 as t1, tablo2 as t2 where t1.ilgili_alan=t2.ilgili_alan and t1.kosul_alani=kosul
Yani senin soruna uyarlarsan:

select i.itemid, s.user_id, s.member_name from smf_shop_inventory i, smf_members s where i.userid=s.userid and s.userid in(1,2)
gibi. Burada dikkat etmen gereken, tabloya verdiğin alias ile istediğin kısımların eşit olması, ve iki tablo arasında ilişkili alan bulunması.