SQL - Consulta-URGENTE

 
Vista:

Consulta-URGENTE

Publicado por Nestor (8 intervenciones) el 05/09/2008 18:55:08
Les agradezco su ayuda.Tengo la siguiente consulta:

select
a.cod_ruta,
a.fec_despacho,
a.hor_salida,
b.hor_entrega,
b.cod_puesto
from
ci_maentregas as a left join ci_deentregas as b on a.fec_despacho = b.fec_despacho and b.cod_ruta = a.cod_ruta
where
a.cod_ruta in ('ACO','ALA','AL2','ALT','APE','ASE','CUR','DES','EAL','ECA','EDA','EHA','EPA','GDP','GT2','GTE','HEP','MO','PAV','PR1','PR2','PR3','PUN','PUS','RBA','SCA','SIG','SJO','SLO','SPE','TUR')
and
a.fec_despacho between '03-sep-08' and '03-sep-08'
order by a.cod_ruta, a.fec_despacho,a.hor_salida;

La consulta si me funciona correcta. Lo que necesito es que me aparescan todas las cod_rutas independientemente tengan o no su fec_despacho, hor_salida, hor_entrega, cod_puesto.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Consulta-URGENTE

Publicado por Isaias (5072 intervenciones) el 05/09/2008 19:57:05
intenta con FULL JOIN
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta-URGENTE

Publicado por Nestor (8 intervenciones) el 05/09/2008 20:07:10
Con el Full Join no me funciona.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta-URGENTE

Publicado por pacopaz (143 intervenciones) el 05/09/2008 21:13:00
Tres observaciones.

1. en tus restricciones del join, en el cod_ruta, primero tienes b. y luego a., intercámbialos.

2. incluye el a.cod_ruta in (...) en las restricciones de tu join.

3. cuando tengas un texto muy largo sin separación de espacios, sepáralos. Normalmente uno programa como escribe, y uno escribe unn espacio luego de cada coma.

El resultado puede ser algo así:

select
a.cod_ruta,
a.fec_despacho,
a.hor_salida,
b.hor_entrega,
b.cod_puesto
from
ci_maentregas as a left join ci_deentregas as b
on a.fec_despacho = b.fec_despacho and b.cod_ruta = a.cod_ruta and a.cod_ruta in ('ACO', 'ALA', 'AL2', 'ALT', 'APE', 'ASE', 'CUR', 'DES', 'EAL', 'ECA', 'EDA', 'EHA', 'EPA', 'GDP', 'GT2', 'GTE', 'HEP', 'MO', 'PAV', 'PR1', 'PR2', 'PR3', 'PUN', 'PUS', 'RBA', 'SCA', 'SIG', 'SJO', 'SLO', 'SPE', 'TUR')
where
a.fec_despacho between '03-sep-08' and '03-sep-08'
order by a.cod_ruta, a.fec_despacho,a.hor_salida;

Espero que te sirva.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta-URGENTE

Publicado por pacopaz (143 intervenciones) el 05/09/2008 21:14:58
Por andar separando con espacios tu in(...) ya no me fijé en el orden del join del cod_ruta. Este debe ser:
on ... and a.cod_ruta = b.cod_ruta and ...

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar