Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Select count em tabela imensa


Gafanhoto

Pergunta

Seguinte.

Tenho 2 tabelas

Clientes

idCliente, Nome

e relatorioConsultas

idConsultas, idCliente, data, idArea, idConsultor

Preciso fazer um SELECT no qual eu saisa na tabela relatorioConsultas quantas consultas cada cliente fez.

Fiz um código e até funcionou, porém ficou bem lento e dá um erro de vem em quando por causa da carga no banco de dados.

Segue abaixo o código completo:

<!--#include file="../conexaoSQL.asp"-->
<%
mes = Trim(Request.Form("mes"))
ano = Trim(Request.Form("ano"))
%>
<font size="+1" face="Verdana, Arial, Helvetica, sans-serif"><strong>Per&iacute;odo: 
<%= mes %>/<%= ano %></strong></font> <br>
<br>

<%
rsClientes = server.CreateObject("adodb.recordset")
queryClientes = "select idCliente, nome from clientes order by nome"
set rsClientes = connPubs.execute(queryClientes)

do until rsClientes.EOF

cliente = rsClientes(0)

rsSel = server.CreateObject("adodb.recordset")
querySel = "SELECT COUNT(idConsultas) FROM relatorioConsultas where idCliente="&cliente&" and MONTH(data)='"&mes&"' and YEAR(data)='"&ano&"'"
set rsSel = connPubs.execute(querySel)

if rsSel(0) <> 0 then

%>
<font size="-1" face="Verdana, Arial, Helvetica, sans-serif"><%= rsClientes(1) %> - <%= rsSel(0) %> 
consulta(s).<br>
</font> 
<%

end if

rsClientes.movenext()
loop
%></p>

Algúem pode me ajudar a simplificar o código, deixar ele mais leve?

Obrigado

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Tá resolvido.. segue abaixo se alguém precisar....

<!--#include file="../conexaoSQL.asp"-->
<%
mes = Trim(Request.Form("mes"))
ano = Trim(Request.Form("ano"))

rsSel = server.CreateObject("adodb.recordset")
querySel = "SELECT COUNT(clientes.idCliente) AS FIELD_1, clientes.nome FROM clientes INNER JOIN relatorioConsultas ON (clientes.idCliente = relatorioConsultas.idCliente) GROUP BY clientes.nome"
set rsSel = connPubs.execute(querySel)

do until rsSel.EOF

%>
Nome: <%= rsSel(1) %> - <%= rsSel(0) %> consulta(s).<br>
<%
rsSel.movenext()
loop
%>

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...