使用UNION查询时,同时使用TOP 与ORDER BY遇到的问题

 

问题发生的情况:

SELECT TOP 5 * FROM TABLE1 WHERE……

UNION

SELECT TOP 5 * FROM TABLE2 WHERE……

ORDER BY (一个会更改显示顺序的条件)

结果是第一个表没有按照ORDER BY的条件排序,第二个表按照ORDER BY的条件排序了,造成显示结果不正确。

 

解决办法:

SELECT TOP 10 * FROM

(

SELECT * FROM TABLE1 WHERE……
UNION

SELECT * FROM TABLE2 WHERE……

)

ORDER BY (一个会更改显示顺序的条件)

 

 

 

 

posted on 2009-01-12 13:56  王培  阅读(342)  评论(2编辑  收藏  举报

导航