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 14-12-2005
hmoner hmoner is offline
Miembro
 
Registrado: may 2005
Posts: 52
Poder: 20
hmoner Va por buen camino
FOURIER !!
Mil gracias por tu aporte... no sabes cuan feliz estoy de recibir una respuesta en este hilo...

Voy a probarlo enseguida y luego te comento como me fue con la consulta...

Gracias !!!
Responder Con Cita
  #2  
Antiguo 14-12-2005
FOURIER FOURIER is offline
Miembro
 
Registrado: dic 2005
Posts: 40
Poder: 0
FOURIER Va por buen camino
Aquí estare conectado

Ok yo aquí estaré conectado por si surge alguna duda
Responder Con Cita
  #3  
Antiguo 14-12-2005
hmoner hmoner is offline
Miembro
 
Registrado: may 2005
Posts: 52
Poder: 20
hmoner Va por buen camino
hola FOURIER nuevamente
Aqui he ordenado un poquitin la consulta... la he ingresado, pero me ha dado error en la linea 10, posicion 1...

Aqui la imagen del error, con el mensaje... como que no conoce alguna sentencia...

http://img231.imageshack.us/img231/5...userror3xp.jpg

Código SQL [-]
SELECT CLIENTE.NROSOCIO AS SOCIO, CLIENTE.NOMBRE AS CLIENTE, CLIENTE.APELLIDO AS APELLIDO, CLIENTE.ESTABLECIMIENTO AS ESTABLECIMIENTO, 
 (select SUM(case when espromoesp=true then 0 else FACTURACION.MONTO end) 
 from Facturacion as F 
 where Facturacion.idcliente=cliente.id) AS M_NORMAL, 
 (select SUM(case when espromoesp=true then FACTURACION.MONTO else 0 end) 
 from facturacion as F 
 where Facturacion.idcliente=cliente.id) AS M_ESPECIAL, 
 (select SUM(FACTURACION.MONTO) 
 from Facturacion as 
 where Facturacion.idcliente=cliente.id) AS TOT_MONTO, 
 (select sum(facturacion.puntos) 
 from Facturacion 
 where idcliente=cliente.id) as Totalpuntos,(SELECT SUM(B.TOTALPUNTOS) 
 FROM CANJE B WHERE B.IDCLIENTE = cliente.id) as canjea,totalpuntos-canjea as puntos_actuales 
 FROM CLIENTE where cliente.idpromo = 2
 ORDER BY CLIENTE.APELLIDO ASC, CLIENTE.ESTABLECIMIENTO ASC

Me pregunto como podria hacer para enviarte las estructura de las tablas para que puedas probar, ya que yo uso el motor NEXUS... www.nexusdb.com

Si quieres, armo las tablas en mySQL o en algun formato que digas y te las envio... (no se si con registros de ejemplo, ya que nexus no posee ninguna utilidad para exportar o convertir las tablas, ni registros)

Muchas gracias por tu ayuda
Responder Con Cita
  #4  
Antiguo 14-12-2005
FOURIER FOURIER is offline
Miembro
 
Registrado: dic 2005
Posts: 40
Poder: 0
FOURIER Va por buen camino
Ok mi mail

mi correo es originalfourier@hotmail.com,, si quieres agregame a tu msn y nos transferimos los archivos... si quieres pasa las tablas a access para hacer una miniprueba..
Responder Con Cita
  #5  
Antiguo 14-12-2005
FOURIER FOURIER is offline
Miembro
 
Registrado: dic 2005
Posts: 40
Poder: 0
FOURIER Va por buen camino
ya vi que falta

ya vi a esa parte le falta el nombre de alias a facturación... checate que donde dice select sum(facturacion.monto) from facturacion as where
esta vacia falta el alias, ponle cualquier cosa después del as
Responder Con Cita
  #6  
Antiguo 14-12-2005
hmoner hmoner is offline
Miembro
 
Registrado: may 2005
Posts: 52
Poder: 20
hmoner Va por buen camino
Bueno bueno...
Faltan palabras de agradecimiento para FOURIER, quien tan amablemente se ha ofrecido a ayudarme con mi problema, a traves del MSN Messenger, y se ha quedado hasta que finalmente pude hacer funcionar y unificar la consulta.
Hoy, he tenido muchisima suerte... gracias FOURIER.
Aqui la consulta terminada, por si a alguien le sirve...

Compatible con NEXUS ( motor de base de datos 3rdparty para Delphi - www.nexusdb.com )

Código SQL [-]
 SELECT CLIENTE.NROSOCIO AS SOCIO, CLIENTE.NOMBRE AS CLIENTE, CLIENTE.APELLIDO AS APELLIDO, CLIENTE.ESTABLECIMIENTO AS ESTABLECIMIENTO, 
 (select SUM(case when espromoesp=true then 0 else F.MONTO end) 
 from Facturacion as F 
 where F.idcliente = cliente.id) AS M_NORMAL, 
 (select SUM(case when espromoesp=true then F.MONTO else 0 end) 
 from facturacion as F 
 where F.idcliente = cliente.id) AS M_ESPECIAL, 
 (select SUM(FAC.MONTO) 
 from Facturacion as FAC
 where FAC.idcliente=cliente.id) AS TOT_MONTO, 
 (select sum(facturacion.puntos) 
 from Facturacion 
 where idcliente=cliente.id) as totalpuntosganados, (SELECT SUM(B.TOTALPUNTOS) 
 FROM CANJE B WHERE B.IDCLIENTE = cliente.id) as totalpuntoscanjeados, (select sum(facturacion.puntos) 
 from Facturacion 
 where idcliente=cliente.id) - (SELECT SUM(B.TOTALPUNTOS) 
 FROM CANJE B WHERE B.IDCLIENTE = cliente.id) as puntos_actuales 
 FROM CLIENTE where cliente.idpromo = :PIDPROMO
 ORDER BY CLIENTE.APELLIDO ASC, CLIENTE.ESTABLECIMIENTO ASC
Responder Con Cita
  #7  
Antiguo 01-01-2006
hmoner hmoner is offline
Miembro
 
Registrado: may 2005
Posts: 52
Poder: 20
hmoner Va por buen camino
Limitar por fechas la consulta anterior

Hola FOURIER nuevamente
Aqui inaugurando el 2006 con otro problemin basado en la misma consulta
Ruego que todavia no hayas empezado tus vacaciones y tengas unos segundos para ayudarme a resolver esto:

Me han pedido poner un filtro por fechas en la consulta anterior, es decir, limitar todos los resultados totales de la consulta por fechas.
Ambas tablas, facturacion y canjes poseen un campo FECHA, pero he ingresado el codigo para limitar por fechas en cada uno de los WHERE, sin exito...
Código SQL [-]
AND Fac.FECHA > '15/10/2005'
o
AND F.Fecha > '15/10/2005'
Lo que si tengo dudas es en la logica de este problema, ya que las facturaciones no poseen la misma fecha que los canjes, por eso es la duda que tengo de que funcione...

Gracias, y buen 2006 !!
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


La franja horaria es GMT +2. Ahora son las 10:26:53.


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