SQL2000中如何用一条语句实现查询一行记录最大值的字段名(列名)?急!!!

来源:百度知道 编辑:UC知道 时间:2024/04/28 21:45:29
在一条SQL语句中实现先比较一行记录中值的大小,然后返回最大值所对应的列的名称,比较急,希望大家能帮我一下!(表中只有一行记录)
你好,谢谢你的回答,我要查询的数据表的名字是st_jielun,要返回的列名分别是:急性猪瘟,口蹄疫,猪水疱病,这个具体怎么实现呢,最后查询出最大值的列名之后还要把列名返回到C#.NET中,然后在页面上显示出来,希望你能帮我一下.

CREATE TABLE TEST (RD1 INT,RD2 INT,RD3 INT,RD4 INT)
INSERT INTO TEST VALUES(3,4,6,18)
--建立测试数据

CREATE TABLE TEMP (NAME VARCHAR(10),RD INT)
GO
DECLARE @NAME VARCHAR(10),@RD INT
DECLARE CURSOR_RD CURSOR FOR SELECT NAME FROM syscolumns where id=object_id('TEST')
OPEN CURSOR_RD
FETCH NEXT FROM CURSOR_RD INTO @NAME
WHILE @@FETCH_STATUS=0
BEGIN
EXEC('INSERT INTO TEMP (RD) SELECT '+@NAME+' FROM TEST')
UPDATE TEMP SET NAME= @NAME
FETCH NEXT FROM CURSOR_RD INTO @NAME
END
SELECT NAME FROM TEMP WHERE RD=(SELECT MAX(RD) FROM TEMP)
CLOSE CURSOR_RD
DEALLOCATE CURSOR_RD
DROP TABLE TEMP

我用游标可以实现,可能有点麻烦,测试数据是我自己建的,你看看吧