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

时间:2015-01-05 20:00:23

标签: sql

无法使此SQL查询生效。我尝试了一切。

我正在使它成为一个演员,因为我希望订单使用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

1 个答案:

答案 0 :(得分:1)

你需要改变这个:

SELECT DISTINCT StoreNumber, ...

用这个:

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

见这里:SQLFIDDLE