SQL Sortare și grupare multiple

EDIT: Folosesc DQL

Caut ajutor pentru o interogare SQL.

Tabela mea are o listă de filme, fiecare cu un titlu, numeNumă serieNumăr și serie. Este posibil să le ordonăm, astfel încât titlurile să fie listate A-Z, dar când apare o serie, acea serie este grupată împreună, seria nume fiind plasată în ordine alfabetică ca și cum ar fi în coloana movieTitle, iar intrările dintr-o serie ordonate de seriaNumber.

Explicație greșită, dar în principiu ceea ce vreau este acesta:

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

Mulțumesc anticipat.

1
DQL, făcând niște lucruri în Symfony2
adăugat autor David Undy, sursa
Ce dialect SQL?
adăugat autor Amadan, sursa

1 răspunsuri

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

S-ar putea să trebuiască să o faceți așa

SELECT * FROM(
  SELECT *, CASE WHEN SeriesName is NOT NULL THEN SeriesName ELSE MovieTitle END SortOrder  FROM x
)
ORDER BY SortOrder,SeriesNumber
2
adăugat
Multumesc foarte mult, am incercat sa o fac sa lucreze in DQL, dar a fost un pic de hassle, a ajuns folosind sql raw. Apreciez ajutorul :)
adăugat autor David Undy, sursa