Wpis z mikrobloga

Mam takie zapytanie:

SELECT * FROM baza WHERE wartosc1 = 4 AND nazwa = "name" AND wartosc2= 0 AND czas >= "12:21" ORDER BY czas LIMIT 6
zwraca mi 6 rekordów, których czas jest równy lub większy niż 12:21. jest dobrze, działa jak chcę. problem pojawia się, gdy chcę zwrócić jeszcze 3 rekordy, których czas jest mniejszy niż 12:21. jak mam sformułować zapytanie by nie grzebać się z robieniem kolejnego zapytania? kombinowałem z UNION i dodawaniem kolejnego AND po LIMIT, ale nie trybi.

#mysql #php #bazydanych
  • 11
@RRybak: nie ukrywam że tworzenie zagnieżdżonych zapytań jest mi obce. zrobiłem coś takiego ale dostaję #1241 - Operand should contain 1 column(s)

SELECT *,

(SELECT * FROM baza WHERE wartosc1 = 4 AND nazwa = "name" AND wartosc2 = 0 AND czas >= "12:21" ORDER BY time LIMIT 6) AS alias1,

(SELECT * FROM baza WHERE wartosc1 = 4 AND nazwa = "name" AND wartosc2 = 0 AND czas < "12:21"