首页 新闻 会员 周边 捐助

SQL语句问题

0
悬赏园豆:5 [已解决问题] 解决于 2013-05-23 08:27

select * from A

union all

select * from B

union all

select * from C

union all

我想B表进行排列,不需要全部进行排列,怎么婆??

NothingHave的主页 NothingHave | 初学一级 | 园豆:6
提问于:2013-05-13 14:17
< >
分享
最佳答案
0

你可以用一个table variable,  B可以任意使用order by

Declare @tmp table (column1 varchar, column2 varchar, column3 varchar)

Insert into @tmp
select * from A

Insert into @tmp
select * from B

Insert into @tmp
select * from C
UNION All
select * from D


select * from @tmp
收获园豆:5
gunsmoke | 老鸟四级 |园豆:3592 | 2013-05-14 09:03
其他回答(3)
0

详细问题:排列 ?排序?

胖子哥哥 | 园豆:341 (菜鸟二级) | 2013-05-13 15:04

排序

支持(0) 反对(0) NothingHave | 园豆:6 (初学一级) | 2013-05-13 16:31
0

貌似是不可以的

ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效

如果非要排序到最后貌似不管用

select * from A
union all

SELECT  * FROM (SELECT top 100 percent * from BORDER BY id DESC) t
union all
select * from C

或者把B排序的放倒视图。

-简体 | 园豆:9 (初学一级) | 2013-05-13 15:22

我的B表就是放在试图的先排好序的,但是一union all又乱了,还有SELECT  * FROM (SELECT top 100 percent * from BORDER BY id DESC) t这个,order by不能用于子查询中,还有别的办法吗?

支持(0) 反对(0) NothingHave | 园豆:6 (初学一级) | 2013-05-13 16:27

@NothingHave: 非要用sql吗?分别查出后 在 代码进行排序 汇合。

支持(0) 反对(0) -简体 | 园豆:9 (初学一级) | 2013-05-13 17:01
0

先做一个B排序后的临时表。

写代码的小2B | 园豆:4377 (老鸟四级) | 2013-05-13 15:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册