Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 10-10-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Es que la función de agrupación funciona así y punto.... no hay más vueltas. Si incluyes una función Sum, avg,etc, debes poner todos los demás campos en el group by

Si por un lado necesitas sumas y además otros campos, realiza 2 consultas, una con el Sum y la otra con los datos que necesitas.

En casos complejos, se puede usar un Procedimiento almacenado (si tu SGBBDD lo permite).


Edito: acabo de ver que usas Interbase, aquí va un ejemplo de un SP de selección:
Código SQL [-]
Create procedure Dame_gente() 
returns
( ELpersonal_nombre  varchar(30),
  ELpersonal_codigo integer,
  ELdemanda_personal numeric(10,2))
as
begin
   for select personal_codigo, sum(demanda_personal)
   from demanda_personal
   group by personal_codigo
   into :ELpersonal_codigo, :ELdemanda_personal do
   begin
   
 /* este es el truco, suponemos que no nos dejaba incluir el nombre porque al usar
    varias tablas lo debíamos de meter en el Group by y no nos daba los resultados
    que esperábamos. Pues lo hacemos en dos partes:
    - Primero hacemos un select con las sumas
    - Después buscamos en las demás tablas los datos para completar el registro que queremos devolver
      con todos los datos juntos
 */
     select personal_nombre 
     from personal
     where codigo_personal = :ELpersonal_codigo
     into :Elpersonal_nombre;
   
     suspend;  //devolvemos todos los parametros que han sido asignados
  end;
end;

Forma de uso:
Código Delphi [-]
  qry1.sql.text := 'select * from Dame_gente';
  qry1.Open;

Como ves en el ejemplo, puedes hacer lo que te apetezca, realmente lo que se hace es construir un registro a mano, como si fuera un puzzle, añadiendo los valores que nos apetezca.


Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 10-10-2007 a las 11:09:21.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
agregar componentes Lucass Varios 10 28-07-2007 02:27:52
problemas agregar una pc con S.O win 98 a una red pollo_c Internet 1 27-02-2007 19:02:28
Como agregar a una lista los nombres de los campos de una consulta. Luis Conexión con bases de datos 2 11-11-2004 21:55:56
Agregar items a un comboBox desde una consulta de MYSQL Juan Carlos Conexión con bases de datos 3 29-05-2004 22:49:09
Quiero saber como agregar una consulta de SQL a un combobox Julio César Varios 4 15-01-2004 13:47:44


La franja horaria es GMT +2. Ahora son las 10:58:46.


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