Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL] Pomoc przy skomplikowanej
Forum PHP.pl > Forum > Bazy danych
LukenZi
Witam,

Mam 3 tabele, w ktorycj istotne pola to

t1- zawody:
zawod_id(PK), zawod_nazwa

t2 - ogloszenia:
ogloszenie_id (PK), zawod_id(FK)

t3 - ogloszenia_szczegoly
ogloszenie_id(FK), ilosc_wyswietlen

teraz chcialbym wybrac z tych trzech tabel, w kolejnosci dla danego zawodu, ktorego oferty wyswietlane sa najczesciej, jednak nie moge sobie poradzic z tym. Utworzylem cos takiego:
  1. SELECT zawod_id
  2. FROM zawod
  3. WHERE (
  4. SELECT sum(ogloszenia_szczegoly.ilosc_wyswietlen)
  5. FROM ogloszenia_szczegoly,ogloszenia
  6. WHERE
  7. ( ogloszenia.zawod_id=zawod.zawod_id
  8. AND ogloszenia_szczegoly.ogloszenia_id = ogloszenia.ogloszenie_id
  9. )
  10. )




Wyswietla mi liste wszystkich zawodow, wiec wyglada ok, tylko nie potrafie wyciagnac tej sumy z subkwerendy co bym mogl sobie to posortowac czy wyciagnac istotne informacje
Prosze o pomoc,
Pozdrawiam
wiiir
  1. SELECT zawod_nazwa, sum(os.ilosc_wyswietlen)
  2. FROM zawody z, ogloszenia o, ogloszenia_szczegoly os
  3. WHERE z.zawod_id = o. zawod_id
  4. AND o.ogloszenie_id = os.ogloszenie_id
  5. ORDER BY sum(os.ilosc_wyswietlen),zawod_nazwa;
  6.  


Nie wiem czy zadziala bo juz 1 w nocy i slabo mysle tongue.gif
LukenZi
No niestety nei dziala, ten sam efekt daje co moje poprzednie czyli sumuje wszystkie wyswietlenia i przypisuje do jednego zawodu
wiiir
dodaj jeszcze group by
  1. SELECT zawod_nazwa, sum(os.ilosc_wyswietlen)
  2. FROM zawody z, ogloszenia o, ogloszenia_szczegoly os
  3. WHERE z.zawod_id = o. zawod_id
  4. AND o.ogloszenie_id = os.ogloszenie_id
  5. GROUP BY zawod_nazwa, sum(os.ilosc_wyswietlen)
  6. ORDER BY sum(os.ilosc_wyswietlen),zawod_nazwa;
  7.  
  8.  
LukenZi
Dzieki, dzieki lekko zmodyfikowalem i dziala dokladnie tak jak sobie wymarzylem.

Pozdrawiam smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.