Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

luan_alves

Somar valores da consulta para fazer order by

Recommended Posts

Bom dia á todos,

 

gostaria de pedir o auxilio a uma query que estou tentando montar.

 

O objetivo da query é, trazer uma lista de anúncios e a ordem deverá ser definida pela soma de dois campos, o que estiver com o valor normal é o que será utilizado no order by.

 

Da forma como estou usando não estou conseguindo porque , esta me trazendo apenas uma linha, acredito que é por causa do atributo (SUM).

 

SELECT * FROM anuncio 
ORDER BY
(CASE 
		WHEN SUM(preco_machos)  > SUM(preco_femeas) THEN preco_machos
		WHEN SUM(preco_machos)  < SUM(preco_femeas) THEN preco_femeas
	END) 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
SELECT * 
FROM anuncio 
ORDER BY (CASE WHEN  (preco_machos) >  (preco_femeas) THEN preco_machos 
               WHEN  (preco_machos) <  (preco_femeas) THEN preco_femeas END) 

 

 




			
		

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

SELECT * 
FROM anuncio 
ORDER BY (CASE WHEN  (preco_machos) >  (preco_femeas) THEN preco_machos 
               WHEN  (preco_machos) <  (preco_femeas) THEN preco_femeas END) 

 

 


 

Motta, obrigado pelo retorno.

 

mas não funcionou da forma como você informou. A lista é gerada porém não segue a ordem

Compartilhar este post


Link para o post
Compartilhar em outros sites

difícil ...

 

teste

 

 

SELECT (CASE WHEN (preco_machos) > (preco_femeas) THEN preco_machos 
             WHEN (preco_machos) < (preco_femeas) THEN preco_femeas END) preco_maior,
anuncio.* 
FROM anuncio 
ORDER BY 1

 

 




			
		

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui da seguinte forma:

 


SELECT * FROM anuncio
ORDER BY
(SELECT (CASE
WHEN SUM(preco_machos) > SUM(preco_femeas) THEN 'preco_machos'
WHEN SUM(preco_machos) < SUM(preco_femeas) THEN 'preco_femeas'
END) AS coluna
from anuncio)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza, agora entendi, não sabia que uma síntaxe destas funcionava !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza, agora entendi, não sabia que uma síntaxe destas funcionava !

Pois é funcionou. E isto era só uma parte da consulta, a consulta em si é enorme , cheia de INNER JOIN, Case e etc..

 

mas é muito bom contar com o apoio da comunidade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.