Problemas com MAX(), MySQL
Boa tarde!
Estou tendo dificuldades no resultado de uma busca.
Eu possuo duas tabelas: tupload_file e tprocess_asset
Estou tentando extrair as seguintes informações:
Quantidade de uploads feitos no processo e as informações do último upload realizado.
A query que montei foi:
O resultado que preciso é:
E o que estou recebendo é:
Desde já agrdeço.
[]''s
Estou tendo dificuldades no resultado de uma busca.
Eu possuo duas tabelas: tupload_file e tprocess_asset
tprocess_asset id | process_id | asset_id | criacao_dt 1 | blah01 | a048fc61 |2017-06-28 16:02:48 2 | blah01 | 856e6215 |2017-08-30 15:24:15 3 | blah01 | 2c268224 |2017-09-01 10:58:47 4 | blah01 | 7fe97fb4 |2017-09-20 13:58:03 5 | blah01 | 990d7fd1 |2017-10-02 10:59:55 6 | blah01 | 500bd250 |2017-10-13 11:08:34 ----------------------------------------------------------------------------------------------------------- tupload_file file_name | asset_id Produtos_e_Servicos_Microcredito_v5.pdf | a048fc61 Produtos_e_Servicos_Microcredito_v4.pdf | 856e6215 Produtos_e_Servicos_Microcredito_v6.pdf | 2c268224 Produtos_e_Servicos_Microcredito_v5.pdf | 7fe97fb4 Produtos_e_Servicos_Microcredito_v7.pdf | 990d7fd1 Produtos e Servic?os_Microcre?dito_v8_baixa.pdf | 500bd250 -----------------------------------------------------------------------------------------------------------
Estou tentando extrair as seguintes informações:
Quantidade de uploads feitos no processo e as informações do último upload realizado.
A query que montei foi:
select max(pta.id) as ultimoID ,pta.asset_id as AtivoId ,max(up.name) as NomeArquivo ,count(pta.process_id) as Qtde_Uploads from tprocess_asset pta join tupload_file up on up.business_file_objectid = pta.asset_id where pta.process_id = ''blah01'';
O resultado que preciso é:
ultimoID | AtivoId | NomeArquivo | Qtde_Uploads 4493 | 500bd250 | Produtos e Servic?os_Microcre?dito_v8_baixa.pdf | 6
E o que estou recebendo é:
ultimoID | AtivoId | NomeArquivo | Qtde_Uploads 4493 | a048fc61 | Produtos_e_Servicos_Microcredito_v7.pdf | 6
Desde já agrdeço.
[]''s
Bruno Oliveira
Curtidas 0
Melhor post
Bruno Soares
18/12/2017
Boa noite, cara isso não vai funcionar, se tratando de trazer estes dados que você precisa é necessário fazer um subselect. desta forma:
select
pta.id as ultimoID
,pta.asset_id as AtivoId
,up.name as NomeArquivo
,count(pta.process_id) as Qtde_Uploads
from tprocess_asset pta
join tupload_file up on up.business_file_objectid = pta.asset_id
where pta.criacao_dt = (select max(criacao_dt) from tprocess_asset )
deste modo você faz com que o ultimo dado adicionado apareça na sua consulta...
Seria isso?
select
pta.id as ultimoID
,pta.asset_id as AtivoId
,up.name as NomeArquivo
,count(pta.process_id) as Qtde_Uploads
from tprocess_asset pta
join tupload_file up on up.business_file_objectid = pta.asset_id
where pta.criacao_dt = (select max(criacao_dt) from tprocess_asset )
deste modo você faz com que o ultimo dado adicionado apareça na sua consulta...
Seria isso?
GOSTEI 1
Mais Respostas
Bruno Oliveira
18/12/2017
Corrigindo a última parte:
O resultado que preciso é:
E o que estou recebendo é:
O resultado que preciso é:
ultimoID | AtivoId | NomeArquivo | Qtde_Uploads 6 | 500bd250 | Produtos e Servic?os_Microcre?dito_v8_baixa.pdf | 6
E o que estou recebendo é:
ultimoID | AtivoId | NomeArquivo | Qtde_Uploads 6 | a048fc61 | Produtos_e_Servicos_Microcredito_v7.pdf | 6
GOSTEI 0
Bruno Oliveira
18/12/2017
Xará, muito obrigado pelo retorno!<br />
Ajudou sim!<br />
Na verdade consegui chegar no que precisava com a seguinte query:<br />
<br />
<br />
Muito obrigado de verdade!
Ajudou sim!<br />
Na verdade consegui chegar no que precisava com a seguinte query:<br />
<br />
<br /> select pta.process_id<br /> ,pta.id as ultimoID<br /> ,pta.asset_id as AtivoId<br /> ,up.name as NomeArquivo<br /> ,pta.created_at as DataUpload<br /> from tprocess_asset pta <br /> join tupload_file up on up.business_file_objectid = pta.asset_id<br /> where pta.id in (select max(id) from tprocess_asset group by process_id)<br />
Muito obrigado de verdade!
GOSTEI 0