Jump to content

Archived

This topic is now archived and is closed to further replies.

Motar

Selecionar o maior valor de várias colunas

Recommended Posts

Viva

Agradecia ajuda para criar um store procedure para calcular o seguinte:

Tenho uma tabela constituída pelas seguintes colunas (41):

Referencia

Nome1

Nome2

Nome3

...

Nome40

 

O campo do Nome1 até ao Nome40 é do tipo int

 

Pretendia para cada linha da tabela selecionar o valor mais alto entre a coluna Nome1 e a Nome40 e depois adiciona-se numa nova tabela com três colunas os seguintes valores:

Na primeira coluna o valor da Referencia

Na segunda coluna o nome da coluna maior

Na terceira coluna o valor da coluna maior

 

Tem como fazer isso?

 

Abraços

 

Share this post


Link to post
Share on other sites

Vamos lá :

 

Qual seu nível de conhecimento de BD e programação de SPs ?

 

Este modelo pode ser melhorardo ? Qual a razão desta desnormalização ?

 

Em todo caso pesquise pela function GREATEST

Share this post


Link to post
Share on other sites

  • Similar Content

    • By danilo759
      Estou com uma dúvida, em uma tabelinha é cadastrado a data em uma coluna e a hora em outra coluna, então para "juntar" podemos usar CONCAT() no SELECT. Tudo certo...
       
      SELECT id, CONCAT(data_ini, ' ', hora_ini) as inicio FROM tabela

      Retorna como esperado:

       

      Minha dúvida é, se eu quiser exibir o horário de término para ficar assim como seria a consulta? Lembrando que não existe as colunas data_final e horario_final.

      2020-09-13 03:00:00 2020-09-13 04:00:00
      2020-09-13 04:00:00 2020-09-13 05:00:00
      2020-09-13 05:00:00 ....
    • By FabianoSouza
      Pessoal, como se faz para definir a região de um determinado CEP?
      Preciso criar uma flag no meu select para dizer se a pessoa mora na ZL, ZO, ZS ou ZN.
      Alguém tem uma relação de CEP confiável para eu poder iniciar esse trabalho?
       
       
      Obrigado.
    • By Matheus Bispo
      Boa noite galera, estou com uma dúvida.
       
      Tenho uma tabela chamada Usuários, onde lá possuo ID, NOME, EMAIL e SENHA.
       
      Estou desenvolvendo um sistema de relatório de logs, e na minha tabela logs, eu tenho o log_usuario e log_afetado, AMBOS REFERENCIAM o ID da tabela Usuários.
       
      A minha dúvida é... Como eu posso trazer os NOMES desses, no select?
       
      O que eu estou fazendo é esse daqui:
       
      $this->Select = "SELECT log.log_id as id, log.log_ip, log.log_usuario, log.log_afetado, log.log_acao, log.log_tempo, log1.usu_nome as dono_nome, log2.usu_nome as afetado_nome FROM logs log    LEFT OUTER JOIN
                  usuarios as log1 ON log_usuario = log1.usu_id LEFT OUTER JOIN
                  usuarios as log2 ON log_afetado = log2.usu_id WHERE
                  log.log_usuario = :log_usuario";
       
      Mas não estou conseguindo trazer os nomes, utilizando um var_dump(), tráz apenas os IDs. O que eu estaria fazendo de errado?
    • By asacap1000
      Salve galera estou com um problema em uma consulta no banco de dados.
      Preciso trazer um xml de um campo porém tem alguns lançamentos que estão com mais de 4000 caracteres, estou usando para a pesquisa o seguinte select
       
      SELECT ID_WS_GATEWAY, ID_WS_CONFIG, STATUS, ERRCODE, ERRMSG, FOLDER, FILENAME, DATE_IN, DATE_ON, SITE, WS, DBMS_LOB.SUBSTR(T.XMLDATA.getClobVal(),4000,1) XMLDATA, DIRECTION FROM WS_GATEWAY T Tem alguma outra forma de buscar uma quantidade maior neste campo?
       
       
    • By FabianoSouza
      Tenho vários usuários que executam a mesma consulta.
      Preciso que os registros sejam exibidos em ordem diferente para cada usuário.
       
      Como consigo atingir esse objetivo? 
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.