Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] - Union i order by
Forum PHP.pl > Forum > Przedszkole
Mega_88
Cześć, potrzebuje pomocy przy zapytaniu z UNION, mam coś takiego jak poniżej i potrzebuje posortować wyniki po dacie.
Tylko przechowuje je w dwóch kolumnach jedna w data_roz (datetime) i drugą w data_do ( date), problem w tym, że obecnie sortuje mi najpierw po jednej dacie później po drugiej a jak zrobić żeby to się "wymieszało" ze soba i sortowało kolejno, a nie najpierw jedno później drugie ?

  1. SELECT * FROM strony WHERE idk=7 AND data_roz >= CURRENT_DATE + INTERVAL 1 DAY AND (status=2 OR status=1)
  2.  
  3. UNION
  4.  
  5. SELECT * FROM strony WHERE idk=4 AND data_do >= CURDATE() AND (status=2 OR status=1)
  6.  
  7. ORDER BY DATE_FORMAT(data_roz,'%Y %M %D') ASC, data_do ASC
rocktech.pl
Witam.

  1. SELECT
  2. *
  3. FROM
  4. (SELECT
  5. *, data_roz AS d
  6. FROM
  7. strony
  8. WHERE
  9. idk = 7
  10. AND data_roz >= CURRENT_DATE + INTERVAL 1 DAY
  11. AND (STATUS = 2 OR STATUS = 1) UNION SELECT
  12. *, data_do AS d
  13. FROM
  14. strony
  15. WHERE
  16. idk = 4 AND data_do >= CURDATE()
  17. AND (STATUS = 2 OR STATUS = 1)) a
  18. ORDER BY a.d ASC;
mmmmmmm
  1. ORDER BY CASE WHEN idk=4 THEN data_do WHEN idk=7 THEN data_roz END
Mega_88
Działają dwa warianty, które napisaliście, dziękuje za pomoc ! Wyświetlałem co innego na stronie, a co innego chciałem sortować i mi się pomieszało facepalmxd.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.