Hej!
Mam 3 tabele
Samochody:
id / rejestracja / idWlasciciela
1 / XX84568 / 1
2 / XX77411 / 2
3 / XX11561 / 5
GrupyWłaścicieli:
id / idGrupy / idWlasciciela
1 / 1 / 1
2 / 1 / 4
3 / 2 / 2
4 / 3 / 5
5 / 3 / 6
6 / 3 / 7
Właściciele:
id / imie i nazwisko / data urodzenia
1 / Jan Kowalski / 07.07.2007
2 / Adam Daj / 09.02.2002
itd...
Niektóre samochody posiadają kilka właścicieli wpisanych do dowodu. Niestety ktoś wcześniej oparł to rozwiązanie o 3 tabele w bazie danych. Teraz muszę masowo pobrać np. 1000 samochodów wraz z danymi właścicieli. Do tej pory wybierany był tylko 1 samochód na raz, dlatego od strony PHP wyglądało to tak:
- Pobierz samochody,
- Dla każdego samochodu pobierz id właścicieli z grupy właścicieli na podstawie Samochody->Wlasciciel
- Pobierz dane właścicieli na podstawie listy id z punktu 2.
Przy 1000 samochodów może to oznaczać nawet 3000 żądań do bazy danych (2-3 pętle foreach).
Ciekaw jestem czy SQL jest w stanie zwrócić dane z 2 niezależnych tabel o innych strukturach, jednocześnie przyporządkowując dane z tabeli 2 do wierszy z tabeli 1... Ja już się poddałem. Ale może ktoś mnie zaskoczy. :)