如果指定了 SELECT DISTINCT,则 ORDER BY 项目必须出现在 select 列表中

ORDER BY items must appear in the select list if SELECT DISTINCT is specified

无法使此 SQL 查询工作。我已经尝试了一切。

我将其设为演员表,因为我希望 order by 使用 nvarchar 中的数字。

例如我希望它这样做:

5 6 7 8 9 10 11 101

而不是

5 6 7 8 9 10 101 11

 SELECT DISTINCT StoreNumber, StoreNumber + ' -- ' + StoreName as
 StoreName FROM tbl_PUSH_STORES WHERE StoreNumber IS NOT NULL ORDER BY
 CAST(StoreNumber AS INT) ASC

你需要改变这个:

SELECT DISTINCT StoreNumber, ...

用这个:

SELECT DISTINCT CAST(StoreNumber AS INT) as StoreNumber, ...

看这里:SQLFIDDLE