SQL Множественная сортировка и группировка

РЕДАКТИРОВАТЬ: я использую DQL

Я ищу помощь с запросом SQL.

В моей таблице есть список фильмов, каждый из которых имеет название, имя серии и номер серии. Можно ли упорядочить их так, чтобы заголовки были перечислены от A до Z, но когда возникает серия, эта серия группируется вместе, причем seriesName размещается в алфавитном порядке, как если бы оно было в столбце movieTitle, а записи в серии упорядочены по номеру серии.

Плохое объяснение, но в основном то, что я хочу, это:

MovieTitle                  SeriesName          SeriesNumber
Blade Runner                NULL                NULL
District 9                  NULL                NULL
Hot Fuzz                    NULL                NULL
I am Legend                 NULL                NULL
Fellowship of the Ring      Lord of the Rings   1
Two Towers, The             Lord of the Rings   2
Return of the King          Lord of the Rings   3
Lost in Translation         NULL                NULL
Matrix, The                 Matrix              1
Matrix Reloaded, The        Matrix              2
Matrix Revolutions, The     Matrix              3
Requiem for a Dream         NULL                NULL
This is Spinal Tap          NULL                NULL
Zodiac                      NULL                NULL

Заранее спасибо.


person David Undy    schedule 31.05.2012    source источник
comment
DQL, делаю кое-что в Symfony2   -  person David Undy    schedule 31.05.2012


Ответы (1)


SELECT * FROM x
ORDER BY CASE 
   WHEN SeriesName is NOT NULL THEN SeriesName ELSE MovieTitle  END
   , SeriesNumber

Возможно, вам придется сделать это таким образом

SELECT * FROM(
  SELECT *, CASE WHEN SeriesName is NOT NULL THEN SeriesName ELSE MovieTitle END SortOrder  FROM x
)
ORDER BY SortOrder,SeriesNumber
person dfb    schedule 31.05.2012
comment
Большое спасибо, я попытался заставить его работать в прямом DQL, но это было немного хлопотно, в итоге я использовал необработанный sql. Оцените помощь :) - person David Undy; 31.05.2012