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
  #2  
Antiguo 25-02-2009
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 20
mjjj Va por buen camino
Amigos despuse de mucho probar llegue a un codigo que debe funcionar, pero es muy lento ya que tiene consultas anidadas.

Al tener pocos registros funciona de maravilla, agregen un alto numero de registros y simplemente se tranco el PC. Expongo el codigo.

Código SQL [-]
SELECT DISTINCT D.CODIGO,
COALESCE(MIN((SELECT (SUM(IIF(TIPO='I', cantidad, 0))-(SUM(IIF(TIPO='E',CANTIDAD,0))))
 FROM inv_prod WHERE EMPRESA=D.EMPRESA AND CODIGO=D.CODIGO AND ID = D.ID)/D.CANTIDAD),0)

FROM DETPRODUCTOS D INNER JOIN INV_PROD I ON D.EMPRESA = I.empresa
AND I.ID = D.ID AND I.CODIGO = D.CODIGO
WHERE D.EMPRESA = 'emp1'
GROUP BY D.CODIGO
HAVING (SUM(IIF(I.TIPO='I', I.cantidad, 0))-(SUM(IIF(I.TIPO='E',I.CANTIDAD,0)))) >= 0


Luego, tratando de evitar consultas anuladas, utilice este codigo

Código SQL [-]
SELECT DISTINCT D.CODIGO,
COALESCE(MIN(i.cantidad/d.cantidad),0)
FROM DETPRODUCTOS D INNER JOIN INV_PROD I ON D.EMPRESA = I.empresa
AND I.ID = D.ID AND I.CODIGO = D.CODIGO
WHERE D.EMPRESA = 'emp1'
GROUP BY D.CODIGO
HAVING (SUM(IIF(I.TIPO='I', I.cantidad, 0))-(SUM(IIF(I.TIPO='E',I.CANTIDAD,0)))) >= 0

El resultado fue que para cada registro que cumpla con la condiciones del "having", realiza el cuociente y obtengo un minimo que no es real.

Por ultimo, y creo que de esta manera debiera funcionar, es que llegue a este codigo:

Código SQL [-]
SELECT DISTINCT I.CODIGO,
MIN(SUM(IIF(I.TIPO='I', I.cantidad, 0))-(SUM(IIF(I.TIPO='E',I.CANTIDAD,0))))

FROM INV_PROD I
WHERE I.EMPRESA = 'emp1'
GROUP BY I.CODIGO

es asunto aqui es que me arroja un error...

"SQL error code = -104.
Nested aggregate functions are not allowed."

Bueno eso es lo que me podido sacar en limpio, ojala alguien me pueda ayudar a solucionar este tema que me tiene de loko.

Saludos y muchas gracias de ante mano.
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
consulta de dos tablas. digital SQL 4 06-11-2007 20:41:00
Consulta SQL con dos tablas... emeceuy Conexión con bases de datos 2 06-08-2005 07:41:59
consulta de dos tablas tgsistemas SQL 4 15-04-2005 13:25:59
Consulta con dos tablas candido SQL 2 09-08-2004 13:02:07
Consulta SQL con 4 tablas nefy SQL 2 03-05-2004 23:25:22


La franja horaria es GMT +2. Ahora son las 13:56:36.


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