test 是一列还是一行的数据??????如果是一行可以用排序的方法取出来以后在找最大最小值,如果是列可以用max()和min()
try: declare @ varchar(8000) set @='select ' select @=@+name+' colName from demo union all select ' from syscolumns where id=object_id('demo') and name <> 'user_name' set @=left(@,len(@)-16)set @ = ' Select max(colName) from (' + @ + ') aa ' exec(@)
上面是取最大值,要取最小值,稍改一下即可 try: declare @ varchar(8000) set @='select ' select @=@+name+' colName from demo union all select ' from syscolumns where id=object_id('demo') and name <> 'user_name' set @=left(@,len(@)-16)set @ = ' Select min(colName) from (' + @ + ') aa ' exec(@)
To hnjkserver() 是一行的数据,能写点代码看看么,多谢你了
To txlicenhe(马可) 能不能写得详细一些,因为我这里直接运行出错了,多谢你了
只有插到一张临时表或表变量里,用 max 和 min 应该就行了啊
To sai1691(saihong)关键我现在不知要如何将数据插入到临时表里呀
用一行数据表示 user_name d1 d2 d3 d4 d5 d6 d7 d8 ......(有60个字段) test 1 34 23 4 243 4 245 432select max(d1) as dl_sl,max(d2) as d2_sl,max(d3) as d3_sl,max(d4) as d4_sl ... from 表名如果是最小,把max用min取代
To cdsgajxlp(太阳西出) 你没有明白我的意思,我取的是一行中最大的值,而不是一列中最大的值
declare @ varchar(8000) set @='select ' select @=@+name+' colName from demo union all select ' from syscolumns where id=object_id('你的表名') and name <> 'user_name' set @=left(@,len(@)-16)set @ = ' Select min(colName) from (' + @ + ') aa ' exec(@) 做法就是: Select min(colName) from (Select d1 as colName from 表 union all Select d2 from 表 union all Select d3 from 表 ... ) aa
declare @ varchar(8000)
set @='select '
select @=@+name+' colName from demo union all select ' from syscolumns where id=object_id('demo') and name <> 'user_name'
set @=left(@,len(@)-16)set @ = ' Select max(colName) from (' + @ + ') aa '
exec(@)
try:
declare @ varchar(8000)
set @='select '
select @=@+name+' colName from demo union all select ' from syscolumns where id=object_id('demo') and name <> 'user_name'
set @=left(@,len(@)-16)set @ = ' Select min(colName) from (' + @ + ') aa '
exec(@)
是一行的数据,能写点代码看看么,多谢你了
能不能写得详细一些,因为我这里直接运行出错了,多谢你了
user_name d1 d2 d3 d4 d5 d6 d7 d8 ......(有60个字段)
test 1 34 23 4 243 4 245 432select max(d1) as dl_sl,max(d2) as d2_sl,max(d3) as d3_sl,max(d4) as d4_sl ...
from 表名如果是最小,把max用min取代
对于行来查询max min是没有意义的呀。。那说明table没有设计好呀
可能是真的没有设计好,但是里面已经有数据了,现在确实需要这么做,我还能怎么办呀
set @='select '
select @=@+name+' colName from demo union all select ' from syscolumns where id=object_id('你的表名') and name <> 'user_name'
set @=left(@,len(@)-16)set @ = ' Select min(colName) from (' + @ + ') aa '
exec(@)
做法就是:
Select min(colName) from
(Select d1 as colName from 表
union all Select d2 from 表
union all Select d3 from 表
...
) aa
此处的demo指的是什么呢