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ı.