PDA

Ver la Versión Completa : ¿Select count sin group by?


zazexx
06-08-2008, 19:42:24
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 [-] (http://www.clubdelphi.com/foros/#)
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
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 (http://www.clubdelphi.com/foros/search.php?searchid=1445531)

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


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