[Resolvido] WHERE com MAX
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
Discussão (4)
Carregando comentários...