一个关于sql的问题请指点。
我现在想些个简单的sql如下
select * from aaa order by fieldName
问题是fieldName 是不知道的。我想写一个sql语句order by 第一个字段desc,或者order by 主键
请问要怎么写?
问题点数:0、回复次数:10Top
1 楼quanyi(长生天)回复于 2004-12-04 12:45:30 得分 0
動態sql
exec ('select * from aaa order by'+ fieldName)Top
2 楼thinhunan(THIN[MVP_asp.net])回复于 2004-12-04 16:47:03 得分 0
先取得表的列就行了嘛
Select name from syscolumns where id = object_id('table_name')
Top
3 楼duxinrun(晴天坊)回复于 2004-12-04 16:53:28 得分 0
如果使用的是SQL Server,就可以根据所选字段列表中字段的位置而不是名字来进行排序
比如在NorthWind数据库中可以用
SELECT * FROM Orders ORDER BY 1 DESC
来获得以ID字段降序排序的结果集Top
4 楼yamazakiqllq(李小龙)回复于 2004-12-05 09:20:18 得分 0
顶起来。
to thinhunan(仁渣),你的方法取得了所有的字段,我想要的是第一个字段,或者主键请问如何取得呢?Top
5 楼tanshiyang82(www.bestit.net)回复于 2004-12-05 10:12:29 得分 0
先要取得列名哦`Top
6 楼qingyuan18(zealot_tang)回复于 2004-12-05 10:45:00 得分 0
同意:duxinrun(晴天坊)Top
7 楼MSDA(被程序折磨着)回复于 2004-12-05 10:48:01 得分 0
select * from aaa order by 1 descTop
8 楼yamazakiqllq(李小龙)回复于 2004-12-05 11:04:43 得分 0
select * from aaa order by 1 desc 是可以现在问题是要在where加个条件
select * from aaa where 1 = '10009' order by 1 desc 这样就不对了。
我还上要取得第一个字段,或者是主键Top
9 楼ysjfirst()回复于 2004-12-05 17:06:36 得分 0
对于order by语法,就是select * from table order by fieldname desc/ascTop
10 楼yamazakiqllq(李小龙)回复于 2004-12-06 11:49:19 得分 0
哈哈终于知道了
Select top 1 name from syscolumns where id = object_id('sysfiles') order by 1Top




