Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

 
 
Herramientas Buscar en Tema Desplegado
  #11  
Antiguo 19-07-2007
NSL94 NSL94 is offline
Miembro
 
Registrado: abr 2007
Posts: 43
Poder: 0
NSL94 Va por buen camino
HAHAHAHA ESO ES UN ROMPECAZAS ^^ ME INCANTA!

En esta consulta que me das tu me encuentro el problema de no poder utilizar el 'IS UNIQUE' sino no habria existido tan siquiera este hilo de discusion :P, debe de ser otra de las muchisimas cosas que no se traga el paradox -_-'.
Con lo cual lo mas parecido que puedo hacer es esto:

Código SQL [-]
SELECT 
FRA.CLIENTE, EMP.NOMBRE, MAX(TEL.TELEFONO), SUM(FRA.BASE_IMP)
FROM
": DBFACTU2:FAC_EMI.DB" AS FRA,
": DBFICHEROS:EMPRESAS.DB" AS EMP,
": DBFICHEROS:TELS_EMP.DB" AS TEL
WHERE 
TEL.EMPRESA = EMP.ID_EMPRESA AND
EMP.ID_EMPRESA = FRA.CLIENTE
GROUP BY
FRA.CLIENTE, EMP.NOMBRE
ORDER BY
FRA.CLIENTE

Pero haciendo esto el probelma que me encuentro es que si una empresa tiene 2 numeros de telefono tan solo me saca una linea (la del del MAX(TEL) pero me saca la SUM( )x2 -_-'

Entonces mi pregunta es partiendo de esta consulta:

Código SQL [-]
SELECT 
FRA.CLIENTE, EMP.NOMBRE, TEL.TELEFONO, SUM(FRA.BASE_IMP)
FROM
": DBFACTU2:FAC_EMI.DB" AS FRA,
": DBFICHEROS:EMPRESAS.DB" AS EMP,
": DBFICHEROS:TELS_EMP.DB" AS TEL
WHERE 
TEL.EMPRESA = EMP.ID_EMPRESA AND
EMP.ID_EMPRESA = FRA.CLIENTE
GROUP BY
FRA.CLIENTE, EMP.NOMBRE, TEL.TELEFONO
ORDER BY
FRA.CLIENTE

Que como veras me saca para cada empresa un numero de linea = al de numeros de telefonos tiene ligada la empresa y cada linea de la misma empresa con la misma suma (ya que es un sum de un campo). Es decir una empresa que tenga 4 numeros de telefonos saca 4 lines identicas salvo el campo del numero de telefono.
Lo que me interesa es que tan solo me salga una de estas lineas, pero con la suma NO multiplicada por el numero de telefono, sino tal y como me sale en mi consulta. Es decir para una empresa de 4 telefonos (como en el caso anterior) cargarme, a saco, digase borar, 3 de las lineas y quedarme tan solo con una de ellas.
Esto se podria, entiendo yo, resolver con el IsUnique sobre el id del cliente (FRA.CLIENTE) pero el caso es que mi paradox no se lo traga.
Otras herramientas que NO puedo usar:
-Poner condiciones en el group by
-poner un select en un From
-ni el First( ), Ni el Last( )
-ni el Is UNIQUE
etc...

en fin espero que esto te aclare un pokito mas el caso.
Responder Con Cita
 



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
Cómo utilizar consultas con DISTINCT de forma correcta dec MySQL 9 19-09-2006 17:50:47
group by y dbgrid, poner condicion como columna? JoseQ Conexión con bases de datos 4 17-05-2005 03:57:24
consultas anidadas: group by dentro otro group by DobleSiete SQL 7 31-01-2005 14:59:31
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 05:13:53.


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