1

编辑:我正在使用 DQL

我正在寻求有关 SQL 查询的帮助。

我的表有一个电影列表,每个电影都有一个标题、seriesName 和 seriesNumber。是否可以对它们进行排序,以便标题按 AZ 列出,但是当一个系列出现时,该系列被组合在一起,系列名称按字母顺序排列,就好像它在电影标题列中一样,系列中的条目按系列编号排序。

不好的解释,但基本上我想要的是:

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

提前致谢。

4

1 回答 1

2
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
于 2012-05-31T01:21:36.597 回答