Mam takie tabele:
multimedia_category (nazwy kolumn z tej tabeli zaczynaja sie prefiksem mc_)
multimedia_form (nazwy kolumn z tej tabeli zaczynaja sie prefiksem mf_)
multimedia (nazwy kolumn z tej tabeli zaczynaja sie prefiksem m_)

Oraz buduje takie zapytanie:

  1. SELECT *
  2. FROM multimedia_category AS T1
  3. INNER JOIN multimedia_form AS T2 ON T1.mc_id = T2.mc_id AND mc_visibility = 1 AND mf_visibility = 1
  4. INNER JOIN multimedia AS T3 ON T2.mf_id = T3.mf_id AND m_visibility = 1
  5. ORDER BY T1.mc_priority ASC, mf_date ASC, T2.mf_priority ASC, mf_name_pl
  6. GROUP BY T2.mf_id;

mc_id jest kluczem glownym w tabeli multimedia_category i kluczem obcym w tabeli multimedia_form.
mf_id jest kluczem glownym w tabeli multimedia_form i kluczem obcym w tabeli multimedia.

Wszystko dziala dobrze gdy nie ma tego GROUP BY. Po dodaniu (a musze je dodac) zapytanie okazuje sie byc niepoprawne. Gdzie robie blad?

----- Edit: --------------------------
Nawet jezeli SELECT * zamienie na SELECT mc_name_pl, mf_name_pl nadal jest blad

----- Edit: --------------------------
Dobra, juz widze blad. Klauzula ORDER BY powinna byc za klauzula GROUP BY. Chyba sie jeszcze nie obudzilem do konca
winksmiley.jpg