Re:Subconsulta..Disculpas..

26/04/2004 - 21:23 por Manolo Zepeda | Informe spam
Que tal amigos..!!

Pido disculpas si molesto con el mismo tema, pero necesito
el reporte porque ya tengo 1 semana con lo mismo y ya he
recibido una llamada de atencion.

No he podido hacer lo que he querido, me sigue apareciendo
la consulta sin resultados, en este caso nula, si la tabla
no contiene rangos en la fecha que se pide no manda
absolutamente nada, solo los nombres de los campos de la
consulta.

SELECT C.Id_Chofer, SUM(Entregas.Cantidad) AS Total
FROM dbo.Choferes C LEFT OUTER JOIN
dbo.Entregas ON
C.Id_Chofer = dbo.Entregas.Id_Chofer
WHERE (C.Id_Chofer IN (4, 7)) AND (CONVERT(char(1),
dbo.Entregas.Pagado) = 0) AND (dbo.Entregas.Fecha
BETWEEN
'2003-04-16' AND '2003-04-16')
GROUP BY C.Id_Chofer

Saludos

Preguntas similare

Leer las respuestas

#6 Manolo Zepeda
27/04/2004 - 00:28 | Informe spam
Que tal Hugo..!

Para no hacerla dificil.

Crea una tabla con la sig. estructura:

Entregas
Id_Chofer Int
Cantidad money
Fecha smalldatetime

Agrega 2 valores, lo que tu quieras, trata de sacar la
consulta por fechas,con valores que no haya en tu tabla, y
veras que no manda, y lo que yo quiero es que me mande un
0 en suma si no hay rangos de fechas en esa tabla.

Ej.
Id_Chofer SumaCantidad
1 0
2 10

Saludos y gracias de antemano
Respuesta Responder a este mensaje
#7 Diego Uribe
27/04/2004 - 00:36 | Informe spam
Upa...

esto de ayudar a ciegas es como complicado
creo que tienes un problema de nulls revisa cuales de los datos
involucrados en la consulta pueden ser nulos y me cuentas.

Y claro esta, prueba esto:

SELECT C.Id_Chofer, SUM(Case When Entregas.Cantidad is null then 0 esle
Entregas.Cantidad end ) AS Total
FROM dbo.Choferes C LEFT OUTER JOIN dbo.Entregas ON
C.Id_Chofer = dbo.Entregas.Id_Chofer
WHERE C.Id_Chofer IN (4, 7) AND
Cast(dbo.Entregas.Pagado as char(1)) = '0' AND
dbo.Entregas.Fecha BETWEEN
Cast('2003-04-16 00:00:00' as datetime) AND
Cast('2003-04-16 23:59:59' as datetime)
GROUP BY C.Id_Chofer

Trata de mandarnos una minidefinicion de las tablas y de los registros en
ellas

Diego



"Manolo Zepeda" escribió en el mensaje
news:46f401c42bd8$be16ebc0$

Hola Diego..!!
Al igual que Ulises gracias por su atencion.

Pero sigo con lo mismo, no sale absolutamente nada, no se
si puedas mostrarme un pequeño ejemplo porque ando
desesperado, disculpen las molestias.

Incluso lo trabaje con la pura tabla y aun si me manda
nada en el resultado, solo campos de tabla.

Select Id_Chofer,Sum(Cantidad) from Entregas
WHERE Fecha
GROUP BY Id_Chofer

Saludos
Respuesta Responder a este mensaje
#8 Manolo Zepeda
27/04/2004 - 01:05 | Informe spam
Que tal Diego...

Al igual que Ulises..

Crea una tabla con la sig. estructura:
Espero que no sea mucho pedir.Disculpen, pero se me hace
mas facil de esa manera, de hecho asi tengo la tabla.

Entregas
Id_Chofer Int
Cantidad money
Fecha smalldatetime

Agrega 2 valores, lo que tu quieras, trata de sacar la
consulta por fechas, en un Chofer pon un valor que si
coincida con las fechas y al otro valores que no coincidan
en la consulta
veras que no manda, y lo que yo quiero es que me mande un
0 en suma si no hay rangos de fechas en esa tabla.

Ej.
Id_Chofer SumaCantidad
1 0
2 10

Saludos y gracias de antemano
Respuesta Responder a este mensaje
#9 ulises
27/04/2004 - 01:18 | Informe spam
Ok, ya te entendí, prueba con este script y adaptalo :

create table choferes ( Id_chofer int, nombre_chofer char
(30) )
create table entregas (Id_Chofer Int, Cantidad money,
Fecha smalldatetime)
go
insert into choferes values ( 1, 'NOMBRE 1 ')
insert into choferes values ( 2, 'NOMBRE 2 ')
insert into entregas values ( 1, 100, '20040404' )
insert into entregas values ( 1, 100, '20040104' )
insert into entregas values ( 2, 100, '20040304' )
go
SELECT C.Id_Chofer, ISNULL(SUM(e.Cantidad),0) AS Total
FROM Choferes C LEFT JOIN
( select Id_chofer, cantidad from Entregas where Fecha
BETWEEN '20040301' AND '20040331' ) e
on C.Id_Chofer = e.Id_Chofer
GROUP BY C.Id_Chofer

resultado :

Id_Chofer Total
1 .0000
2 100.0000

(2 row(s) affected)

Saludos,
Ulises

...
Para no hacerla dificil.

Crea una tabla con la sig. estructura:

Entregas
Id_Chofer Int
Cantidad money
Fecha smalldatetime

Agrega 2 valores, lo que tu quieras, trata de sacar la
consulta por fechas,con valores que no haya en tu tabla,


y
veras que no manda, y lo que yo quiero es que me mande un
0 en suma si no hay rangos de fechas en esa tabla.

Ej.
Id_Chofer SumaCantidad
1 0
2 10

Saludos y gracias de antemano


.

Respuesta Responder a este mensaje
#10 Manolo Zepeda
27/04/2004 - 05:41 | Informe spam
Vientos amigo..!!

Muchisimas gracias... ahora si ya tengo lo que
necesitaba... eso era lo que precisamente andaba buscando,
diste con el clavo.

Felicidades de antemano.

Gracias tambien a mis compañeros que me dieron sus
aportaciones que tambien me sirvieron de mucho.

Saludos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida