排序问题

表格如下:
id num st
11 5 0
12 3 -1
13 5 1
14 12 0
.. .. ...
ID限制在9个以内,st限制在-1/0/1之中。
想得到下面的结果集
NUM ST NUM ST NUM ST NUM ST
3 -1 5 1 5 0 12 0
按照NUM,ST(降序),ID 的顺序排列。
[256 byte] By [bz586] at [2008-1-9]
# 1

create table T(id int, num int, st int)
insert T select 11, 5, 0
union all select 12, 3, -1
union all select 13, 5, 1
union all select 14, 12, 0

declare @sql varchar(8000)
set @sql='select '
select @sql=@sql+'NUM='+rtrim(num)+',ST='+rtrim(st)+',' from T order by num asc, st desc
select @sql=left(@sql, len(@sql)-1)
exec(@sql)

--result
NUM ST NUM ST NUM ST NUM ST
----------- ----------- ----------- ----------- ----------- ----------- ----------- -----------
3 -1 5 1 5 0 12 0

marco08-天道酬勤 at 2007-10-18 > top of Msdn China Tech,MS-SQL Server,基础类...
# 2
谢谢!
但是有个奇怪的问题!
如果是把T变成(select id,num,st from... inner join ... )结果集
结果就会错!?

bz586 at 2007-10-18 > top of Msdn China Tech,MS-SQL Server,基础类...
# 3
为什么呢?
bz586 at 2007-10-18 > top of Msdn China Tech,MS-SQL Server,基础类...