Octobus
15.06.2016, 10:47:20
Witam, nie moglem znalezc od powiedniego tytulu na post, chodzi mi o to ze mam do pobrania z bazy danych produkty, ale w ten sposob, ze najpierw wyswietla sie te z id > X a pozniej reszta i wiem zbytnio jak do tego podejsc zeby to zrobic w jednym zapytaniu. Chcialbym ograniczyc i uproscic unikajac dwoch osobnych zapytan. Takie sortowanie produktow gdzie pierwszy to id > X a ostatnie sa id < X. Mam nadzieje ze zrozumiecie o co mi chodzi, pozdrawiam
kapslokk
15.06.2016, 10:56:12
Spróbuj :
(SELECT * FROM tabela WHERE id >= 10)
UNION
(SELECT * FROM tabela WHERE id < 10)
ale nie gwarantuje - nie testowałem
Octobus
15.06.2016, 10:59:50
mysle ze powinno byc dobrze, jeszcze zastanawiam sie czy nie da sie uzywajac case, when, then
ORDER BY CASE id
WHEN id >= 10 THEN 1
WHEN id < 10 THEN 2
nie wiem czy dobrze tego uzylem
kapslokk
15.06.2016, 11:33:18
ORDER BY CASE
WHEN id >= 10 THEN 1
WHEN id < 10 THEN 2
END
Tak powinno zadziałać, ale nie wiem jak z wydajnością obu rozwiązań.
@trueblue
LOL... Idę sie schować
trueblue
15.06.2016, 11:40:49