Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Consulta complicada

Estas en el tema de Consulta complicada en el foro de SQL Server en Foros del Web. Hola. A ver si m pueden ayudar con esta consulta, q no la tarmino de pillar: tablas: clientes(codigo, nombre) ppto(cod_cliente, total, fecha) pago(cod_cliente, total, fecha) ...
  #1 (permalink)  
Antiguo 13/02/2007, 11:39
 
Fecha de Ingreso: junio-2004
Mensajes: 91
Antigüedad: 20 años, 5 meses
Puntos: 0
Pregunta Consulta complicada

Hola. A ver si m pueden ayudar con esta consulta, q no la tarmino de pillar:

tablas:

clientes(codigo, nombre)
ppto(cod_cliente, total, fecha)
pago(cod_cliente, total, fecha)
factura(cod_cliente, total, fecha)

quiero mostrar:

(cliente, año, ppto.total, pago.total, factura.total) del mismo cliente en la misma fecha
Hasta aqui parce facil pero pasa lo siguiente:

Puede haber un ppto y una factura de un cliente en una fecha y no haber un pago, o una factura y no haber pago ni ppto, etc...Cnd haya uno de los 3 (ppto, pago o factura) ya se muestra algo. Debe mostrarse un resultado con el que no existe en blanco.
Entonces de antemano no se cual esta asi no se de dnd extraer el año para mostralo ni como igualar en la clausula where las fechas para que sean las mismas ya que puede ser q existan los 3 o solo uno o dos y no se cual es d antemano. Si no existieran ninguno de los 3 pues no se muestra nada

No se si m he explicado bien. Espero ayuda de algun campeon, jeje

graciass
  #2 (permalink)  
Antiguo 14/02/2007, 13:15
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años, 7 meses
Puntos: 25
Re: Consulta complicada

Esto te debe dar una idea de como comenzar:

SELECT *
FROM clientes c
LEFT OUTER JOIN ppto p1
ON c.llave = p1.llave
LEFT OUTER JOIN pago p2
ON c.llave = p2.llave
LEFT OUTER JOIN factura f
ON c.llave = f.llave
WHERE p1.llave IS NOT NULL OR p2.llave IS NOT NULL OR f.llave IS NOT NULL

Esto asume que SIEMPRE gobierna la tabla de clientes, es decir que no tienes clientes "perdidos" (como facturas cuyo # de cliente no existe).
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:15.