PHP MySQL Tabloları Birleştirme

2 Cevap php

Ben bir dizin oluşturmak için çalışıyorum ve ben iki tablo, giriş ve konuma sahiptir. Her giriş yüzden ben 'bağlantıları' belirtmek üçüncü bir tablo oluşturmak için (eğer yanlış doğru) iyi fikir olduğunu varsayarak kulüpler birden fazla yer olması mümkün olacak. Örnek:

Marly:France
Karla:Argentina
Smith:USA
Katie:France
Smith:United Kingdom
Katie:USA

Fransa'dan kişileri listelemek istediğinizde bunu üçüncü tabloya gidin ve location = Fransa isimlerini çekmek istiyorum. Bu noktaya kadar her şeyi yapıyor iyiyim, ama şimdi ben (üçüncü tabloya göre) Fransa'da her bir kişi, her ismi için giriş tablodan veri almak gerekir. Ben bu daha önce yapılan gördüm eminim. Herhangi bir işaretçiler? : D

2 Cevap

SELECT
    entryt.name AS name,
    locationt.location AS location
FROM locationt, entryt
WHERE locationt.location = "France"

Unutmayın: Ben orada kullanılan isimleri değiştirin:

  • Ben "entryt" olarak giriş tablosu adlandırılmış
  • Ve "locationt" olarak yer tablo

Fransa'da yaşayan tüm insanlarla "adını" dönmelidir.

Bunun işe yarayacağını eminim. Yanılıyorsam hala, beni düzeltin.

SELECT * FROM entry WHERE name in (SELECT name FROM links WHERE location = 'FRANCE');

Ben 'giriş' & gibi tablo isimlerini varsaydım 'Bağlantıları' ve 'entry.name' ve 'links.location' olarak sütun adları.