Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-02-2008
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 19
esimon Va por buen camino
Question uso del Group By

Hola saludo para todos.

voy a tratar de explicar que quiero hacer, estoy usando Delphi 7 y Access 2003, tengo los datos en 3 tablas, hotel, Provincia y Localidad, en hotel guardo el codigo de la provincia y de la localidad, estoy lo hago porque es mi tabla principal las otras son de mantenimientos.

el problema es que estoy haciendo un reporte en ReportBuilder en el cual uso un Label y en el onprint del mismo ejecuto esta condicion.
Código Delphi [-]
procedure TFrm_ReporteAgenciasViajes.ppLabel5Print(Sender: TObject);
   var ls_ImprimirLocalidad : string;
begin
      ls_ImprimirLocalidad := Qry_ImprimirAgenciasNumero_Localidad.Value;
      Qry_BuscarLocalidad.Close;
      with Qry_BuscarLocalidad do begin
      with Sql do begin
      clear;
      Add('Select * From Localidades');
      Add('where Numero_Localidad =');
      Add(''''+ls_ImprimirLocalidad+'''');
      Open;
ppLabel5.Caption := Qry_BuscarLocalidadDescripcion_Localidad.Value;
end;
end;
end;
esto funciona bien, pero si quiero agrupar las provincia y la localidad porque se repiten varia veces no lo puedo hacer,
al quien puedes decirme como lo hago?

mil gracias

Última edición por marcoszorrilla fecha: 05-02-2008 a las 15:01:50. Razón: Cerrar etiquetas
Responder Con Cita
  #2  
Antiguo 05-02-2008
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Quieres decir que no puedes hacerlo porque te da algún error o símplemente que no sabes como hacerlo.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 05-02-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 18
felipe88 Va por buen camino
Porque no lo puedes hacer?, te da algun error... o quieres hacer dos agrupaciones, una por provincia y la otra por localidad.

Si con esto quieres colocar comilla ' '
Código Delphi [-]
Add(''''+ls_ImprimirLocalidad+'''');
Mejor usa
Código Delphi [-]
Add(QuotedStr(ls_ImprimirLocalidad));
__________________
Web
Responder Con Cita
  #4  
Antiguo 05-02-2008
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 19
esimon Va por buen camino
gracias felipe88 y marcos

dejame decirte que no me da ningun error, el esta funcionando bien, el problemas es que no me agrupa, me repieste mucho tanto la provincia como la localidad.

lo unico que quiere es que si una provincia se repite me la presente una sola ves, igual con la localidad.
Es que no se donde puedo usar la funcion GROUP BY.

Última edición por esimon fecha: 05-02-2008 a las 16:38:44.
Responder Con Cita
  #5  
Antiguo 05-02-2008
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Cita:
Empezado por esimon Ver Mensaje
Hola saludo para todos.

voy a tratar de explicar que quiero hacer, estoy usando Delphi 7 y Access 2003, tengo los datos en 3 tablas, hotel, Provincia y Localidad, en hotel guardo el codigo de la provincia y de la localidad, estoy lo hago porque es mi tabla principal las otras son de mantenimientos.

el problema es que estoy haciendo un reporte en ReportBuilder en el cual uso un Label y en el onprint del mismo ejecuto esta condicion.
Código Delphi [-]
procedure TFrm_ReporteAgenciasViajes.ppLabel5Print(Sender: TObject);
   var ls_ImprimirLocalidad : string;
begin       ls_ImprimirLocalidad := Qry_ImprimirAgenciasNumero_Localidad.Value;       Qry_BuscarLocalidad.Close;       with Qry_BuscarLocalidad do begin       with Sql do begin       clear;       Add('Select * From Localidades');
      Add('where Numero_Localidad ');
      Add(''''+ls_ImprimirLocalidad+'''');
      Add('Group by_Localidad');

      Open;
ppLabel5.Caption := Qry_BuscarLocalidadDescripcion_Localidad.Value;
end;
end;
end;
esto funciona bien, pero si quiero agrupar las provincia y la localidad porque se repiten varia veces no lo puedo hacer,
al quien puedes decirme como lo hago?

mil gracias


Este es un ejemplo de como agrupar.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.

Última edición por marcoszorrilla fecha: 05-02-2008 a las 17:03:06.
Responder Con Cita
  #6  
Antiguo 05-02-2008
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 19
esimon Va por buen camino
gracias marcos, cuando agrego la linea que escribiste me da un error de escritura y eso es logico digo pro el Group by_locliadad, creo que deberia ser Group By Localidad y localidad es el nombre de la tabla.

el caso es que no me funciona
Responder Con Cita
  #7  
Antiguo 05-02-2008
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Me he equivocado tienes que poner el nombre del campo.

UnSaludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #8  
Antiguo 05-02-2008
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 19
esimon Va por buen camino
es que cuando uso el campo por el cual quiero agrupar da un error que dice que no se puedes agrupar por el campo seleccionador por '*'.

y si expreso los campos me dice ha intentado ejecutar una consulta que no incluye una expresion espesificada 'codigo_provincia' como parte de una funcion de agregado
Responder Con Cita
  #9  
Antiguo 05-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
esimon, la clausula GROUP BY obliga a que esté declarado el campo en SELECT. Dicho de otro modo:
Código SQL [-]
SELECT campoA, campoB, campoC
FROM TablaA
GROUP BY campoD

Provoca error, porque CampoD no está formando parte de select. La solución:

Código SQL [-]
SELECT campoA, campoB, campoC, campoD

Recomiendo la lectura y/o repaso de algún manual SQL.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Impresion de group header group footer Manuel Impresión 3 11-11-2007 01:05:23
consultas anidadas: group by dentro otro group by DobleSiete SQL 7 31-01-2005 14:59:31
Select...group By JorgeBec SQL 2 02-12-2004 17:27:25
Consulta Con Group By VRO SQL 9 30-08-2004 18:06:07
Group Header, Detail y Footer Group en la misma pagina MarcelRuz Impresión 0 20-04-2004 23:27:14


La franja horaria es GMT +2. Ahora son las 01:02:13.


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
Copyright 1996-2007 Club Delphi