Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal, sou novo na area e gostaria de um apoio do forum... Estou tentando trazer num mesmo SQL o ultimo registro de cada obra (COD_OBRA)...
Observa que nos 2 primeiro registros, eu tenho: 126, 124 da mesma obra, gostaria de trazer o registro 126 (ultimo registro e maior cod_ptrab) e nas demais, ficaria:
126,
116,
31
Sempre os maiores registros de cada obra.... Se alguém pode me ajudar, fico grato!
Segue abaixo os registros retornado e o SQL:
/applications/core/interface/imageproxy/imageproxy.php?img=http://www.profigueiredo.com.br/img/SQL.jpg&key=cf8a7934cf3eafb86c0846aa04b48cc8f6e0541c5e0254987dd278528da061a7" alt="SQL.jpg" />
SELECT
max(ptrab.id),
ptrab.id,
ptrab.cod_ptrab,
ptrab.valor,
ptrab.status,
obra.cod_obra,
obra.objeto,
(SELECT cod_oog FROM sisdoc_v2.oog WHERE cod_ptrab = ptrab.id AND status = 'AP' ORDER BY versao DESC LIMIT 1) as oog
FROM
sisdoc_v2.ptrab_capa as ptrab,
obra
WHERE
obra.id_om = 4002 AND
obra.situacao in('EA') AND
obra.cod_obra = ptrab.cod_obra AND
ptrab.status in('TT', 'AP')
GROUP BY
ptrab.id,
ptrab.cod_ptrab,
ptrab.valor,
obra.cod_obra,
obra.objeto,
ptrab.status
ORDER BY
ptrab.cod_ptrab DESC
Use MAX com sub-select.
Um exemplo aqui ou aqui.