Yanlış - Sorgu tablodaki ilk girişi tek görüntüler!

2 Cevap php
$query = "SELECT A.Agent_Name, C.Country_Name, J.Job_Type FROM Line_Items LI, Agents A, 
          Country C, Job J WHERE LI.Agent_ID = 1 AND LI.Agent_ID = A.Agent_ID AND 
          LI.Country_ID = C.Country_ID AND LI.Job_ID = J.Job_ID";
$result = mysql_query($query);
while($row = mysql_fetch_query($result)) {
    echo "Agent:" . $row['Agent_Name']."<br>";
    echo "Country:" . $row['Country_Name']."<br>";
    echo "Job:" . $row['Job_Type']."<br>";
}

Bu sorgu çıkış için istiyorum ... ilk Ajanlar tabloda Ajan, ve ülke masa ve İş tablo sadece çıktılar Ajan Adı, Ülke Adı ve Satır Öğeleri tablosundaki girişlere dayalı bu tablolardan İş Türü, karşılık.

Lütfen yardım edin!

2 Cevap

Ben sorun o size basit / tek bir deyim olarak hiçbir erişimine sahip SQL değerleri çekmek için çalışıyorsunuz gerçeği yatıyor inanıyoruz. Iki veya daha fazla tablo arasında ortak sütun verilerine dayanarak bir veya daha fazla tablodan veri çekerek - Sen ne çalışıyorsunuz için bir JOIN deyimi kullanıyor olmalıdır. Lütfen SQL hızlı bir girişimi:

SELECT A.Agent_Name, C.Country_Name, J.Job_Type FROM Line_Items LI INNER JOIN 
( Agents A CROSS JOIN Country C CROSS JOIN Job J ) ON
( LI.Agent_ID = 1 AND 
LI.Agent_ID = A.Agent_ID AND 
LI.Country_ID = C.Country_ID AND 
LI.Job_ID = J.Job_ID );

EDIT: DAN eksik üzgünüm - bu ihtiyacı yoktur. Senin için mükemmel bir SQL statment almak için çalışıyorum değilim - Size ne gerek sütunlar bilmek ve ne maç: sadece kaba bir kroki bulunuyor. İşte link MySQL belgelerine katılmak görevlisine etmektir.