Dúvida Banco SQL - Como pegar o menor valor de uma linha que possui várias colunas de valores ?
Tenho uma tabela no SQL que se encontra assim:
| id| valor1 | valor2 | valor3 | valor4 | valor5 |
|:-:|:------:|:------:|:------:|:------:|:------:|
| 1 | 7 | 5 | 3 | 6 | 8 |
| 2 | 3 | 2 | 6 | 9 | 7 |
| 3 | 4 | 9 | 5 | 1 | 8 |
Queria uma query que me retornasse a seguinte tabela (ou informação visual):
| id| valor1 | valor2 | valor3 | valor4 | valor5 |
|:-:|:------:|:------:|:------:|:------:|:------:|
| 3 | 1 | 4 | 5 | 8 | 9 |
| 2 | 2 | 3 | 6 | 7 | 9 |
| 1 | 3 | 5 | 6 | 7 | 8 |
Ou seja, me retorne os ids, listados pelo menor preço entre as linhas.
Observando que quando retorna os Ids, já exibe os mesmos com suas colunas em ordem crescente de valores.
| id| valor1 | valor2 | valor3 | valor4 | valor5 |
|:-:|:------:|:------:|:------:|:------:|:------:|
| 1 | 7 | 5 | 3 | 6 | 8 |
| 2 | 3 | 2 | 6 | 9 | 7 |
| 3 | 4 | 9 | 5 | 1 | 8 |
Queria uma query que me retornasse a seguinte tabela (ou informação visual):
| id| valor1 | valor2 | valor3 | valor4 | valor5 |
|:-:|:------:|:------:|:------:|:------:|:------:|
| 3 | 1 | 4 | 5 | 8 | 9 |
| 2 | 2 | 3 | 6 | 7 | 9 |
| 1 | 3 | 5 | 6 | 7 | 8 |
Ou seja, me retorne os ids, listados pelo menor preço entre as linhas.
Observando que quando retorna os Ids, já exibe os mesmos com suas colunas em ordem crescente de valores.
Bruno Murad
Curtidas 0
Melhor post
Jair N.
27/09/2021
Boa Noite, bem são sempre cinco colunas estas tabelas?
Se sim, vou te dar uma ideia, pela lógica, a melhor coisa a fazer e colocar uma relação de id e coluna única, com isto junte todas as tabelas.
Exemplo criar uma visualização
CREATE VIEW vwTabela (id, coluna) AS
SELECT id, valor_1 FROM <tabela> UNION SELECT id, valor_2 FROM <tabela> ....UNION SELECT id, valor_5 FROM <tabela>
Depois pegue essa visualização e ordene por valor.
OBS: caso tenha um "peso" por coluna, acrescente na visualização a identificação deste a referida da tabela e coluna.
Atc
Se sim, vou te dar uma ideia, pela lógica, a melhor coisa a fazer e colocar uma relação de id e coluna única, com isto junte todas as tabelas.
Exemplo criar uma visualização
CREATE VIEW vwTabela (id, coluna) AS
SELECT id, valor_1 FROM <tabela> UNION SELECT id, valor_2 FROM <tabela> ....UNION SELECT id, valor_5 FROM <tabela>
Depois pegue essa visualização e ordene por valor.
OBS: caso tenha um "peso" por coluna, acrescente na visualização a identificação deste a referida da tabela e coluna.
Atc
GOSTEI 1