例如:
8 6 9
5 4 1取
9 5MAX只能取字段中最大值不是一条记录中

解决方案 »

  1.   

    create table test(
    id int,
    a int,
    b int,
    c int
    )
    declare @t table(id int,num int)
    insert into test
    select 1,8,6,9 union all
    select 2,5,4,1insert into @t
    select id,a as num from test
    union all
    select id,b as num from test
    union all
    select id,c as num from testselect max(num) from @t group by iddrop table test----结果----------
    1  9
    2  5
    是这样?
      

  2.   

    select * from v_main
    order by Po_TotalDown desc
    declare @table_pqs table(id int,num1 int,num2 int,num3 int)
    insert into @table_pqs
    select 1,8,6,9 union all
    select 2,5,4,1
    select  case when num1>=num2 and num1>=num3 then num1
    when num2>num1 and num2>=num3 then num2
    when num3>num1 and num3>num2 then num3
            end as max
    from @table_pqs
      

  3.   

    declare @table_pqs table(id int,num1 int,num2 int,num3 int)
    insert into @table_pqs
    select 1,8,6,9 union all
    select 2,5,4,1
    select case when num1>=num2 and num1>=num3 then num1
    when num2>num1 and num2>=num3 then num2
    when num3>num1 and num3>num2 then num3
    end as max
    from @table_pqs
      

  4.   

    引用:
    declare @table_pqs table(id int,num1 int,num2 int,num3 int)
    insert into @table_pqs
    select 1,8,6,9 union all
    select 2,5,4,1
    select case when num1>=num2 and num1>=num3 then num1
    when num2>num1 and num2>=num3 then num2
    when num3>num1 and num3>num2 then num3
    end as max
    from @table_pqs为什么上面的语句在我这边的机子上显示

    服务器: 消息 137,级别 15,状态 2,行 5
    必须声明变量 '@table_pqs'。

    这样的错误啊!
      

  5.   

    寫個交叉表查詢,使表行列換過來,
    #t
    col1 col2
    7     8
    9     3
    2     7
    然後 select a = (select max(col1) from #t),b = (select max(col2) from #t)
      

  6.   

    不怕影响速度
    可以行转列
    然后
    select max(?),max(??),...