none
Problema ao criar uma view, selecionando o maior valor e o menor valor de três colunas RRS feed

  • Pergunta

  •  Eu preciso selecionar o maior valor e o menor valor, de três colunas, estou usando o seguinte script, porém dá erro.

     

    Select Id, Min(valor) from
    (
    Select id, valor from
    (
    (Select Id, valor1 as valor from tabela as a) union
    (Select Id, valor2 as valor from tabela as b) union
    (Select Id, valor3 as valor from tabela as c )
    )
    )

     

    Select Id, Max(Valor) from
    (
    Select id, valor from
    (
    (Select Id, valor1 as valor from tabela as a) union
    (Select Id, valor2 as valor from tabela as b) union
    (Select Id, valor3 as valor from tabela as c )
    )
    )

     

    desde já agradeço espero que alguém possa me ajudar.

    segunda-feira, 2 de julho de 2007 13:17

Respostas

  • Andre,vc tb pode simplificar usando uma VIEW:

    Code Snippet

    create view tabela_vw
    as
    Select Id, valor1 as valor from tabela
    union
    Select Id, valor2 as valor from tabela
    union
    Select Id, valor3 as valor from tabela
    ---------------------------------
    go

    select Id, Min(valor) from tabela_vw group by Id

    go

    select Id, Max(valor) from tabela_vw group by Id


    segunda-feira, 2 de julho de 2007 14:09
  • da uma olhada no que o Gesiel postou.. é uma opção....  vc cria a View e depois usa as funções de MIM e MAX diretamente na View...

     

    Abraços

     

    segunda-feira, 2 de julho de 2007 14:17

Todas as Respostas

  • qual o erro ?
    segunda-feira, 2 de julho de 2007 13:23
  • Error -2147217900

    Incorrect syntax near ')'.

    não estou conseguindo identificar aonde está o erro.

     

     

    segunda-feira, 2 de julho de 2007 13:25
  • Select Id, Min(valor) from
    (Select Id, valor1 as valor from tabela as a

    union all

    Select Id, valor2 as valor from tabela as b

    union all

    Select Id, valor3 as valor from tabela as c)

     

    tente assim

    segunda-feira, 2 de julho de 2007 13:29
  • aparece a mesma mensagem de erro .
    segunda-feira, 2 de julho de 2007 13:36
  • faça o union e separado para ver o que acontece...

     

     

    segunda-feira, 2 de julho de 2007 13:54
  • Andre,vc tb pode simplificar usando uma VIEW:

    Code Snippet

    create view tabela_vw
    as
    Select Id, valor1 as valor from tabela
    union
    Select Id, valor2 as valor from tabela
    union
    Select Id, valor3 as valor from tabela
    ---------------------------------
    go

    select Id, Min(valor) from tabela_vw group by Id

    go

    select Id, Max(valor) from tabela_vw group by Id


    segunda-feira, 2 de julho de 2007 14:09
  • tentei com o union e também não deu certo, fim um select por coluna e deu certo, porém como faço para verificar qual das três colunas tem o menor valor?

     

    vlw, até.

    segunda-feira, 2 de julho de 2007 14:14
  • da uma olhada no que o Gesiel postou.. é uma opção....  vc cria a View e depois usa as funções de MIM e MAX diretamente na View...

     

    Abraços

     

    segunda-feira, 2 de julho de 2007 14:17
  • Putz galera agora deu certo, valew msm, brigadão pela ajuda.

     

    até mais.

    segunda-feira, 2 de julho de 2007 14:44