Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapytanie na trzech tabelach, z której strony to ugryźć?
kopczyk
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 2
Dołączył: 5.01.2008
Skąd: Jelenia Góra

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


To mój pierwszy post więc witam wszystkich serdecznie.
Przejde odrazu do problemu ktorego nie wiem z której strony mam ugryźć.
otóż w bazie mam trzy tabelki:
Cytat
tabela groups:
id

tabela albums:
id
group_id

tabela pictures:
id
album_id


group_id jest kluczem obcym z tabeli groups natomiast album_id jest kluczem z tablei album.

Jakie zapytanie wyciągnęło by z bazy informację o tym w której grupie jest najwięcej zdjęć i zwróciło id tej grupy?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
Cotter
post
Post #2





Grupa: Zarejestrowani
Postów: 57
Pomógł: 12
Dołączył: 6.01.2008
Skąd: Wrocław

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


  1. SELECT group_id,count(*) AS picturesAmount
  2. FROM `albums` JOIN groups JOIN pictures ON albums.group_id=groups.id AND pictures.album_id = albums.id
  3. GROUP BY groups.id
  4. ORDER BY picturesAmount
  5. DESC LIMIT 1

Najpierw używając JOIN łączymy wszystkie tabele używając ich kluczy, następnie grupujemy dane według id grup na końcu sortujemy wyniki od największego do najmniejszego i zwracamy pierwszy wynik jako id grupy oraz liczbę obrazków w tej grupie.

Ten post edytował Cotter 9.01.2008, 21:35:40
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 - 20:22