fatihclkl adlı üyeden alıntı: mesajı görüntüle
Merhaba arkadaşlar,

Öğrenciler ve yoklama adlarında birer tablom var.

Öğrenciler tablosunda "tel" adlı sutunda öğreci velilerin telefon numarası var.
Yoklama adlı tabloda ise "durum" adlı sutunda öğrecilerin 1 veya 0 olarak gösterdiğim var/yok durumları var.

Ben yoklama tablosundaki gelmeyen öğrecilerin yani durum='0' ise öğrenciler tablosuna gidip aynı isme/id ye göre öğrencilerin telefon numalarını çekmek istiyorum.
 $cek=mysql_query("select * from ogrenciler RIGHT JOIN yoklama ON yoklama.adsoyad = ogrenciler.tel WHERE yoklama.durum='0'")
Bu şekilde bir sorgu oluşturdum.Fakat sadece yoklama tablosundan veri çekiyor.Sorgu tam yapamadım.Yardımcı olursanız sevinirim.
İlişkili tablolarda ortak bir tanımlayıcıya ihtiyacınız var. ogrenciler tablosunda öğrenciye ait bir id aynı zamanda yoklama tablosunda da olmalıdır. Örneğin; ogrenciler tablosunda id sütunu, yoklama tablosunda ogrenciID olarak saklanmalıdır. Böylece tabloları ilişkilendirebilirsiniz.

Örneğe göre tabloları birleştirmek istediğinizde

SELECT ogrenciler.*, yoklama.durum FROM ogrenciler
  LEFT JOIN ogrenciler.id = yoklama.ogrenciID
WHERE yoklama.durum = 0
Sorgusu işinizi görecekti. Sizin tablo yapınızı bilmiyorum ancak yaşadığınız problemin bu bölümde olduğunu düşünüyorum.

RIGHT JOIN yoklama ON yoklama.adsoyad = ogrenciler.tel
Değil de

RIGHT JOIN yoklama ON yoklama.adsoyad = ogrenciler.adsoyad
olmalı gibi duruyor.

Adsoyad unique değildir ve bazen istemediğiniz sonuçlar elde edebilirsiniz.