我正在尝试按某种特定的顺序对数据库进行排序,但我希望所有的null都在最后,所以我选择所有值为非null,然后选择所有值为WITH,并尝试将它们与Union连接。喜欢:
SELECT * FROM preferences WHERE preferenceOrder IS NOT NULL
ORDER BY preferenceOrder ASC
UNION
SELECT * FROM preferences WHERE preferenceOrder IS NULL
ORDER BY preferences ASC
但服务器抛出错误:
Msg 156, Level 15, State 1, Line 2
Incorrect syntax near the keyword 'union'.
我无法找出错误是什么..上面的句子出了什么问题?
谢谢!
答案 0 :(得分:6)
我认为你应该order by (case when preferenceOrder is null then 0 else 1 end), preferenceOrder
而不是这个联盟。