ndias Postado Julho 17, 2018 Denunciar Share Postado Julho 17, 2018 (editado) select t1.id, (select count(campo) from tabela2 where id = t1.id) from tabela1 t1 where ....... select t1.id, (select count(t2.campo) from tabela2 t2 inner join tabela1 on tabela1.id = t2.id where t2.id = t1.id) from tabela1 t1 where ....... select t1.id, count(t2.campo) from tabela1 t1 left join tabela t2 on t2.id = t1.id where ....... Estou tentando dessas 3 formas e a única que roda é a segunda...mesmo assim, com muita lentidão... Existe alguma outra melhor forma de montar essa query? Editado Julho 17, 2018 por ndias Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Julho 26, 2018 Denunciar Share Postado Julho 26, 2018 Tenta assim: SELECT t1.id, t3.qt FROM tabela1 t1 INNER JOIN ( SELECT t2.id, COUNT(t2.campo) AS qt FROM tabela2 t2 GROUP BY t2.id ) t3 ON t3.id = t1.id ; Lembre-se de criar indices em t1.id e t2.id Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ndias
Estou tentando dessas 3 formas e a única que roda é a segunda...mesmo assim, com muita lentidão...
Existe alguma outra melhor forma de montar essa query?
Editado por ndiasLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.