Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   ¿Select count sin group by? (https://www.clubdelphi.com/foros/showthread.php?t=58935)

zazexx 06-08-2008 19:42:24

¿Select count sin group by?
 
hola a todos¡¡¡:D

antes que nada felicitarlos, a todos los miembros de este foro, ha sido de gran ayuda en muchas ocasiones donde no veia ni siquiera una luz que alumbrara el camino para llegar a una solucion.

Y bueno este es el problema o al menos asi lo veo:
tengo una megaconsulta que lista el personal que labora en las instituciones de todo un estado esta ordenado primero por zona, despues por modalidad y por ultimo por el tipo de institución. Hay personal con diferente cargo y tambien hay q distinguir un cargo de otro.
esta es la consulta:

Código SQL [-]
Select if(e.particular>0,"PARTICULARES","OFICIALES") AS particular,
z.id_zona,md.nombre_modalidad,dir.*,subd.* from escuelas e
left join (Select Sub.id_escuela,p.nombre
from personal p
inner join directivos Sub on Sub.curp=p.curp where cargo='S' )
as subd on subd.id_escuela=e.id_escuela
left join (Select dire.id_escuela,p.nombre
from personal p
inner join directivos dire on dire.curp=p.curp where cargo='D')
as Dir on dir.id_escuela=e.id_escuela
inner join zona z on z.id_zona=m.id_zona
inner join modalidad md on e.id_modalidad=md.id_modalidad
order by z.id_zona ASC,particular ASC,md.id_modalidad, e.id_escuela ASC





intente hacer un reporte maestro-detalle para esto pero como no pude implementarlo, entonces hice la consulta global y use una banda QRGroup y una detail, con estas despliega todo bien, el unico inconveniente es lo del total por cada grupo(institucion x modalidad y tipo) para lo cual uso una banda summary.
para lograr lo del subtotal x grupo hay q usar un "count" pero por lo que he leido es necesario un group by, el cual no requiero por que de lo contrario no despliega toda la información .

gracias por leer mi problema y sinceramente toda sugerencia o corrección es bienvenida;).

BlueSteel 06-08-2008 19:50:16

Cita:

intente hacer un reporte maestro-detalle para esto pero como no pude implementarlo, entonces hice la consulta global y use una banda QRGroup y una detail, con estas despliega todo bien, el unico inconveniente es lo del total por cada grupo(institucion x modalidad y tipo) para lo cual uso una banda summary.
para lograr lo del subtotal x grupo hay q usar un "count" pero por lo que he leido es necesario un group by, el cual no requiero por que de lo contrario no despliega toda la información .
Si la consulta SQL te entrega los resultados correctos, creo que el problema radica más en el Reporteador.. ¿cual estas usando? ¿QReport? que versión de Delphi ?

Podrias indicar más detalles del Reporte?... como lo estas realizando y cosas así..

Tambien hay algunos informes que los puedes hacer usando el QRcomposite... es decir, realizar un informe por cada categoria, para que me entregará todo lo que necesitaba y despues se juntan con el RQComposite.... (creo que así se escribe...)

Si quieres busca información por TCompositeReport

Salu2:p:D

egostar 06-08-2008 19:54:44

Hola

Para obtener totales en QReport, solo basta con incluir un campo del tipo TQRExpr en la banda Summary y en su expresion colocar esto

Código SQL [-]
COUNT(Query1.Dato)

Salud OS

zazexx 06-08-2008 19:54:45

ok. gracias, checare lo de composite report
Disculpas x no mencionarlo y si, uso Delphi 7,MySQL, y Qreport

eduarcol 06-08-2008 19:55:54

Prueba colocando un group footer y dentro de este un qrExpresion que te sume el campo que desees... creo que esto es lo que quieres, no debes relanzar la consulta.

zazexx 07-08-2008 15:27:11

Hice lo de poner un qrExp , primero con count "COUNT(ADOQuery1.id_escuela)" y me dice : " Count - Too many arguments", despues lo probe con sum pero por lo que vi el campo debe ser numerico, aun asi lo puse" SUM(ADOQuery1.id_escuela)" y no muestra nada.
"id_escuela no es numerico"

gracias x la ayuda, pero no crean q' aqui termina, espero puedan seguir ayudandome


La franja horaria es GMT +2. Ahora son las 07:14:30.

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