我有以下(已修改)select
,使用view
和case
ORDER BY
caluse:
SELECT *
FROM VW_View
ORDER BY CASE
WHEN Initials = 'New'
THEN '1'
ELSE TeamID
END
ASC
这在我的本地数据库上运行正常,并返回:
正如预期的那样
但是,在测试数据库上,它会返回:
与预期不符,例如order by子句不起作用。
视图完全相同,为什么该条款不一致?
答案 0 :(得分:3)
由于您没有定义辅助排序,因此当TeamId = 1时,订单未定义。添加第二个排序条件或更改为类似......
SELECT *
FROM VW_View
ORDER BY CASE
WHEN Initials = 'New'
THEN '0'
ELSE TeamID
END
ASC