Ir para conteúdo

POWERED BY:

Arquivado

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

andrea cerqueira

[Resolvido] WHERE com MAX

Recommended Posts

Sei que não tem como utilizar WHERE com MAX, mas não sei como fazer uma consulta que me retorne os pedidos de tal tabelas apenas se a sua recorrencia máxima for Y e sua data for X.

 

Por exemplo, aqui eu pego os pedidos cuja o recurrence_number máximo seja 3, mas eu quero saber se ela é 3 e se o atual_debit é 10/2011.

Acontece que dessa forma eu pego maior recurrence_number mas pego qualquer atual_debit, e não o atual_debit da maior recurrence_number.

 

SELECT a.order_id FROM anuncios_retorno a 
JOIN anuncios b ON ( b.id_pedido = a.order_id AND b.hab = 0 ) 
WHERE ( SELECT MAX(recurrence_number) FROM anuncios_retorno WHERE order_id = a.order_id ) = 3
AND a.atual_debit LIKE '%/10/2011' 
GROUP BY a.order_id

 

Só pra constar, tá muito lenta a query, tá bem gambiarra...

 

:natalsad:

 

assim bate com o que eu quero, mas não sei se tá muito esdruchulo.

 

SELECT a.order_id FROM anuncios_retorno a 
JOIN anuncios b ON ( b.id_pedido = a.order_id AND b.hab = 0 ) 
WHERE ( SELECT MAX(recurrence_number) FROM anuncios_retorno WHERE order_id = a.order_id ) = a.recurrence_number
AND a.recurrence_number  = 3
AND a.atual_debit LIKE '%/10/2011' 
GROUP BY a.order_id

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente

 

SELECT a.order_id 
FROM anuncios_retorno a 
JOIN anuncios b ON ( b.id_pedido = a.order_id AND b.hab = 0 ) 
WHERE a.atual_debit LIKE '%/10/2011' 
GROUP BY a.order_id
having MAX(recurrence_number)  = 3

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, mas acho que já resolvi, ou pelo menos melhorou muito.

Eu não estou testando remotamente e sim direto no ar, dai pedi pro servidor restartar o mysql.

Acho que agora ficou tudo certo, brigadão.

:natalbiggrin:

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.