Re:Subconsulta

24/04/2004 - 18:11 por Manolo Zepeda | Informe spam
Hola amigos.!!

Gracias por su ayuda.. ya funciono.. pero tengo un pequeño
detalle.

Como son 2 tablas distintas donde se maneja un rango de
fechas, la consulta me arroja valores si en las 2 existe
el rango de fechas, pero cuando en 1 de las tablas no hay
ese rango, la consulta no me envia nada.

Ahora como puedo hacer para que si en uno de las tablas no
existe ese rango de fechas me mande un 0, porque de lo
contrario me anula todo.

Por ej.

(Id_Chofer)Tabla1 Suma(Volumen)Tabla2 Suma(Volumen)Tabla3
4 100 0
7 0 300

Saludos y gracias
 

Leer las respuestas

#1 Liliana Sorrentino
26/04/2004 - 14:14 | Informe spam
Hola Manolo,
Cambiando INNER por LEFT conseguís lo que necesitás.
INNER JOIN descarta las filas no coincidentes de las dos tablas, en cambio
LEFT te muestra todas las filas de la tabla izquierda que tengan o no
relación en la tabla de la derecha.

SELECT C.Id_Chofer, Sum(Tabla2.Volumen) Total, Sum(Tabla3.Volumen) OtroTotal
FROM Choferes C
LEFT JOIN Tabla2 ON C.Id_Chofer = Tabla2.Id_Chofer --cambié INNER por LEFT
LEFT JOIN Tabla3 ON C.Id_Chofer = Tabla3.Id_Chofer --cambié INNER por LEFT
WHERE C.Id_Chofer in(4,7) AND Quincena<>'SI' AND Convert(char(1),Pagado)=0
AND Fecha BETWEEN '2003-20-08' AND '2003-09-09'
AND ... -- condiciones de Tabla3
GROUP BY C.Id_Chofer

"Manolo Zepeda" escribió en el mensaje
news:3c0001c42a16$be3ecb90$
Hola amigos.!!

Gracias por su ayuda.. ya funciono.. pero tengo un pequeño
detalle.

Como son 2 tablas distintas donde se maneja un rango de
fechas, la consulta me arroja valores si en las 2 existe
el rango de fechas, pero cuando en 1 de las tablas no hay
ese rango, la consulta no me envia nada.

Ahora como puedo hacer para que si en uno de las tablas no
existe ese rango de fechas me mande un 0, porque de lo
contrario me anula todo.

Por ej.

(Id_Chofer)Tabla1 Suma(Volumen)Tabla2 Suma(Volumen)Tabla3
4 100 0
7 0 300

Saludos y gracias

Preguntas similares