(SELECT aukcje_aukcje.*,
(SELECT users_login FROM aukcje_users WHERE users_id = aukcje_maksymalna
LIMIT 1) AS maksymalna
FROM aukcje_aukcje WHERE aukcje_id_user = '16' AND aukcje_rozpoczecie_data < '1177951380' AND aukcje_czas_data > '1177951380' AND aukcje_zakonczona = '0' AND EXISTS (SELECT *
FROM aukcje_users WHERE users_id = aukcje_maksymalna)
ORDER BY maksymalna ASC, aukcje_czas_data)
UNION
(SELECT aukcje_aukcje.*,
(SELECT users_login FROM aukcje_users WHERE users_id = aukcje_maksymalna
LIMIT 1) AS maksymalna
FROM aukcje_aukcje WHERE aukcje_id_user = '16' AND aukcje_rozpoczecie_data < '1177951380' AND aukcje_czas_data > '1177951380' AND aukcje_zakonczona = '0' AND NOT EXISTS (SELECT *
FROM aukcje_users WHERE users_id = aukcje_maksymalna)
ORDER BY aukcje_czas_data)
LIMIT 0, 50
Nad powyższym zapytaniem siedzę już od kilku godzin. Dane pobierane są w sposób jak najbardziej poprawny. Problemem jest jedynie sortiwanie. W momencie kiedy nie ma drugiego zapytania i UNION dane sortują się poprawnie według pola "maksymalna".
W momencie kiedy pojawia się drugie zapytanie coś jest nie tak. Dane są pobierane, ale nie są sortowane. W całym zapytaniu dane z pierwszej jego części pownny się sortować według pola. Nie sortują się.
Co jest nie tak? Już dostaję mętliku w gowie. Pierwsza część zostawiona sama jest ok sortuje się pięknie. Kiedy dorzucić UNION i resztę coś się wali, jakby blokowane było sortowanie w obrębie pierwszego zapytania.
Co z tym zrobić?