Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Contar registros de una consulta!!

Estas en el tema de Contar registros de una consulta!! en el foro de SQL Server en Foros del Web. Hola! tengo una problema con contar los registros que me devuelve una consulta SQL en todos lados me pone esto. sql= select count(*) as num ...
  #1 (permalink)  
Antiguo 05/06/2009, 07:32
 
Fecha de Ingreso: enero-2008
Ubicación: Santiago
Mensajes: 14
Antigüedad: 16 años, 4 meses
Puntos: 0
Contar registros de una consulta!!

Hola!

tengo una problema con contar los registros que me devuelve una consulta SQL
en todos lados me pone esto.

sql= select count(*) as num from tabla

pero si pongo el "count(*)" en mi consulta se me cae..

mi consulta es:

Código:
consultadw="SELECT ot.dia, ot.mes, ot.anno, ot.diasol, ot.messol, ot.annosol, ot.diaproc, ot.mesproc, ot.annoproc, Clientes.RazonSocial, ot.instalacion, ot.rentamensual, Clientes.Id, count(Clientes.Id) as total 
FROM ot INNER JOIN Clientes 
ON ot.idcliente=Clientes.Id  
WHERE ot.diaproc<>0 and ot.mesproc <>0 and ot.annoproc <> 0 "
AND Cast(Cast(ot.mesproc as nvarchar) + '/' + Cast(ot.diaproc as nvarchar) + '/' + Cast(ot.annoproc as nvarchar)as SmallDatetime) 
BETWEEN '"&fei&"' AND '"&fef&"'
AND (Clientes.Clientede="&filial&") 
AND (ot.idusuario <> 0)
AND (ot.idsolicitante <> 0)
AND (ot.idprocesador <> 0)"
AND (ot.idsolbaja = 0) 
AND (ot.idfinbaja = 0) 
ORDER BY ot.anno, ot.mes, ot.dia
esa consulta me funciona bien.. el asusto es como cuento los registros que me devuelve..

plix cualquier sugerencia es bienvenida^^

Gracias.
  #2 (permalink)  
Antiguo 05/06/2009, 09:05
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 9 meses
Puntos: 39
Respuesta: Contar registros de una consulta!!

COUNT es una funcion agregada, por lo tanto esta se usa con GROUP BY.
¿Qué valor quieres mostrar con COUNT(Clientes.Id)?
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.

Última edición por flaviovich; 05/06/2009 a las 09:14
  #3 (permalink)  
Antiguo 05/06/2009, 09:50
 
Fecha de Ingreso: enero-2008
Ubicación: Santiago
Mensajes: 14
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Contar registros de una consulta!!

solo necesito saber cuantos datos trae la consulta..
si usando "Clientes.Id" me trae el total de la consulta estaria bien!


Gracias por responder!
  #4 (permalink)  
Antiguo 05/06/2009, 10:24
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 9 meses
Puntos: 39
Respuesta: Contar registros de una consulta!!

Eso lo puedes obtener del recordset.recordcount.
O quieres que te aparezca 50 veces el numero 50 si tu consulta tiene 50 registros?
Pon un ejemplo de como quieres obtener ese dato.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #5 (permalink)  
Antiguo 05/06/2009, 10:47
 
Fecha de Ingreso: enero-2008
Ubicación: Santiago
Mensajes: 14
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Contar registros de una consulta!!

por ejemplo.. necesito mostrar..

idcliente , Razon social, y fecha en una lista..
y antes de mostrar esos datos tengo q poner .. "El numero de registros de la consulta es:'num'"

Código:
<%set listadw=connect.execute(consultadw)%>
<%if not(listadw.eof) then %>

<center>
Reporte <%response.write(request.form("servicio"))%> de <%response.write(request.form("filial"))%>
<br>
Entre las Fechas
<%response.write(request.form("feci"))%>
<%response.write("  y  ")%>
<%response.write(request.form("fecf"))%>
<br>
Trajo un total de = <% total %> registros
<br><br>
</center>
gracias ! ^^
  #6 (permalink)  
Antiguo 05/06/2009, 11:09
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 9 meses
Puntos: 39
Respuesta: Contar registros de una consulta!!

¿Acaso listadw.RecordCount no te devuelve el total de registros??
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #7 (permalink)  
Antiguo 05/06/2009, 11:27
 
Fecha de Ingreso: enero-2008
Ubicación: Santiago
Mensajes: 14
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Contar registros de una consulta!!

entre mis buskedas habia encontrado el RecordCount
pero de una forma mas complicada, no sabia q se podia usar simplemente asi.

pero me dio lo mismo q cuando lo use .. me da resultado : -1

y la consulta trae mas de 100 registros..

esta bien usarlo asi:

<%response.write(listadw.RecordCount)%>


Saludos!
  #8 (permalink)  
Antiguo 05/06/2009, 14:13
 
Fecha de Ingreso: enero-2008
Ubicación: Santiago
Mensajes: 14
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Contar registros de una consulta!!

bueno... me cree mi propio codigo artesanal q me devuelve el numero de registros

<%set dw=connect.execute(consultadw)%>
<%lol=0%>
<%do until dw.eof%>
<%lol=lol+1%>
<%dw.movenext loop%>
<%response.write(lol)%>

eso es por aora, seguire investigando el RecordCount..
por q si esto mismo que hice en 6 lineas se puede hacer en 1.. seria mejor!

gracias por tu tiempo flaviovich!!
byes
  #9 (permalink)  
Antiguo 05/06/2009, 14:14
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 9 meses
Puntos: 39
Respuesta: Contar registros de una consulta!!

Aqui explican lo que necesitas: http://www.aspfacil.com/vertruco.asp?id=3
Al final tu problema era de ASP, no SQL, ojo!
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #10 (permalink)  
Antiguo 06/06/2009, 08:16
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: Contar registros de una consulta!!

Ya que empiezas con el desarrollo de aplicativos, seria bueno que aplicaras las BUENAS PRACTICAS de desarrollo y no ejecutaras codigo T-SQL desde tu aplicativo, siempre deberias ejecutar procedimientos almacenados
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:00.