Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> SELECT na trzech tabelach
Max Damage
post
Post #1





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

Ostrzeżenie: (0%)
-----


Cześć, mam takie tabele:
1. ksiazki:
id | tytul | itd.
3 | t1
12 | t2

2.ksiazki_autor:
id_ksiazki | id_autor
3 | 2
3 | 3
3 | 4

3.autorzy:
id | autor
2 | kowalski
3 | nowak
4 | jakiś tam

Na podstawie id ksiązki chcę wyciągnąć jej autorów, a także wszystkie informacje o niej. Zrobiłem takie zapytanie, ale jak mam 3 autorów ksiązki to wyciąga mi 3 razy jej dane:
  1. SELECT * FROM ksiazki JOIN (SELECT * FROM ksiazki_autor WHERE id_ksiazki='".$id."') AS abc ON ksiazki.id = abc.id_ksiazki JOIN autorzy ON autorzy.id = abc.id_autor


--------------------
"Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi." - Albert Einstein
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


select distinct * (...) nie pomaga ?


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
phpion
post
Post #3





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




@darko:
Nie zajarzyłeś "problemu".

@Max Damage:
Robiąc złączenia tabel zawsze dostaniesz nadmiarowej ilości danych. Po stronie PHP musisz sobie wyświetlić informacje o książce tylko raz, a jej autorów X razy (tyle ilu ich jest). Oczywiście możesz rozbić to na 2 zapytania: 1 pobierające info o książce i 2 pobierające jej autorów. Kwestia aktualnej potrzeby.
Go to the top of the page
+Quote Post
Max Damage
post
Post #4





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

Ostrzeżenie: (0%)
-----


Miałem po prostu nadzieje, że da się to wyciągnąć jednym zapytaniem. Zrobienie większej ilości zapytań to żadna sztuka. No ale może masz rację i inaczej się tego napisać nie da, a szkoda.


--------------------
"Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi." - Albert Einstein
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 18:59