Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   total de filas (https://www.clubdelphi.com/foros/showthread.php?t=89479)

LACV 28-11-2015 05:44:00

total de filas
 
buenas noches tengo esta consulta sql

Código SQL [-]
SELECT C.Id_cliente,Nombre,Iden,Cupo,COUNT(*) as Tclient FROM ab_sucursal S 
INNER JOIN ab_cliente C ON S.Id_cliente=C.Id_cliente
WHERE S.Id_user= :Id_user_B GROUP BY Iden ORDER BY Nombre asc

necesito el total de las filas; ya que con esta consulta me esta devolviendo el total de cada grupo y si uso esta

Código SQL [-]
SELECT C.Id_cliente,Nombre,Iden,Cupo,SUM(COUNT(C.Id_cliente)) as Tclient FROM ab_sucursal S 
INNER JOIN ab_cliente C ON S.Id_cliente=C.Id_cliente
WHERE S.Id_user= :Id_user_B GROUP BY Iden ORDER BY Nombre asc

me suma repetición del cliente según la cantidad de las sucursales

gracias de antemano

Casimiro Notevi 28-11-2015 11:58:25

No sé si he entendido bien lo que preguntas, además no indicas para qué base de datos es, pero si estás usando "group" devolverá agrupados, obviamente, por el campo que hayas puesto.
Si quieres contar "otra cosa", no lo agrupes. Definitivamente creo que no he entendido lo que preguntas.

LACV 28-11-2015 12:45:56

Cita:

Empezado por Casimiro Notevi (Mensaje 499955)
No sé si he entendido bien lo que preguntas, además no indicas para qué base de datos es, pero si estás usando "group" devoverá agrupados, obviamente, por el campo que hayas puesto.
Si quieres contar "otra cosa", no lo agrupes. Definitivamente creo que no he entendido lo que preguntas.

compa si esta el group by es por que se necesita para obtener los resultados, la base de datos es mysql pero lo que estoy preguntado es global de sql

Casimiro Notevi 28-11-2015 13:10:38

Como comprenderás, tú lo ves claro porque tú sabes lo que estás buscando, pero nosotros solamente sabemos lo que hemos leido.
Supongo que lo que quieres entonces es contar los clientes, ¿es eso?

AgustinOrtu 28-11-2015 16:00:04

No, quiere contar los resultados de una consulta

Que tal:

Código SQL [-]
 SELECT COUNT(*) FROM (sub consulta)

Casimiro Notevi 28-11-2015 19:01:07

Cita:

Empezado por AgustinOrtu (Mensaje 499960)
No, quiere contar los resultados de una consulta

Pues con mysql, al igual que con otros sistemas, no hace falta contarlas, ya lo devuelve el sistema.
Por eso le preguntaba por la base de datos que usa.

orodriguezca 30-11-2015 20:01:24

Prueba esto:

Código SQL [-]
with subconsulta as (
SELECT C.Id_cliente,Nombre,Iden,Cupo,COUNT(*) as Tclient FROM ab_sucursal S 
INNER JOIN ab_cliente C ON S.Id_cliente=C.Id_cliente
WHERE S.Id_user= :Id_user_B GROUP BY Iden)
select count(*)
from subconsulta

o también esto

Código SQL [-]
select count(*)
from (SELECT C.Id_cliente,Nombre,Iden,Cupo,COUNT(*) as Tclient 
         FROM ab_sucursal S 
         INNER JOIN ab_cliente C ON S.Id_cliente=C.Id_cliente
         WHERE S.Id_user= :Id_user_B GROUP BY Iden) subconsulta


La franja horaria es GMT +2. Ahora son las 19:30:21.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi