Witam
Mam taki problem. Posiadam tabele, w ktorej znajduje sie pole: tytul, data, priorytet.
Chce, wyswietlic najpierw rekordy posiadajace priorytet=1 a nastepnie rekordy posiadajace priorytet=0.
Rekordy (priorytetowe) powinny wyswietlac sie bez mozliwosci ingerencji w tryb sortowania przez uzytkownika, a rekordy zwykle z mozliwoscia wybrania typu sortowania. Calosc ma opierac sie o LIMIT gdyz bedzie to podpiete pod stronnicowanie.
Problem lezy w tym, ze niby wyniki wyswietla poprawnie, ale nie chce ich sortowac!

Kod:

  1. (SELECT
  2. Tabela.Tytul, Tabela.DATA, Tabela.Priorytet FROM Tabela WHERE Tabela.Priorytet=1
  3. ORDER BY DATA DESC)
  4. UNION
  5. (SELECT Tabela.Tytul, Tabela.DATA, Tabela.Priorytet FROM Tabela WHERE Tabela.Priorytet=0
  6. ORDER BY (Tabela.Tytul|Tabela.DATA) (ASC|DESC))
  7. LIMIT 0, 5


Tytul lub date, a takze asc lub desc wybiera uzytkownik. Co w tym zapytaniu jest zle? Dlaczego nie moge zlaczyc danych na tej samej tabeli? Jak moge inaczej rozwiazac ten problem?
Pozdrawiam