ayuda con consulta

22/02/2005 - 10:01 por Racsus | Informe spam
Hola

tengo la siguiente sql:

SELECT _TMP_001_2294425.CODOPERARIO,
_TMP_001_2294425.DESCRIPCION AS NOMBRE, COUNT
(RUTAS.RUTA_FECHA) AS NUMERO
FROM _TMP_001_2294425 LEFT OUTER JOIN
RUTAS ON _TMP_001_2294425.CODOPERARIO = RUTAS.RUTA_OPERARIO
WHERE RUTAS.RUTA_FECHA > '20050101') AND (RUTAS.RUTA_FECHA
< '20050222') GROUP BY _TMP_001_2294425.CODOPERARIO,
_TMP_001_2294425.DESCRIPCION ORDER BY numero

EN LA TABLA _TMP... hay operarios que no tienen registros
en la tabla RUTAS, y por lo tanto el campo numero es 0.

El problema es que cuando pongo la condicion "WHERE.." los
operarios que no tienen rutas no me sale, porque? si la
relacion es LEFT JOIN..., porque no me salen?

Saludos

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
22/02/2005 - 14:05 | Informe spam
Racsus,

Esa es la funcion de la clausula WHERE, filtrar las filas que seran
devueltas por el query. Existe un a palabra clave en la clausula GROUP BY que
ayuda a que los grupos formados por estas filas sean incluidos en el
resultado del query aunque estos grupos no tengan filas que cumplan la
condicion de busqueda. Esta palabra clave es ALL.

SELECT
_TMP_001_2294425.CODOPERARIO,
_TMP_001_2294425.DESCRIPCION AS NOMBRE,
COUNT(RUTAS.RUTA_FECHA) AS NUMERO
FROM
_TMP_001_2294425
LEFT OUTER JOIN
RUTAS
ON _TMP_001_2294425.CODOPERARIO = RUTAS.RUTA_OPERARIO
WHERE
RUTAS.RUTA_FECHA '20050101') AND (RUTAS.RUTA_FECHA < '20050222')
GROUP BY ALL
_TMP_001_2294425.CODOPERARIO,
_TMP_001_2294425.DESCRIPCION
ORDER BY
numero
go


AMB

"Racsus" wrote:

Hola

tengo la siguiente sql:

SELECT _TMP_001_2294425.CODOPERARIO,
_TMP_001_2294425.DESCRIPCION AS NOMBRE, COUNT
(RUTAS.RUTA_FECHA) AS NUMERO
FROM _TMP_001_2294425 LEFT OUTER JOIN
RUTAS ON _TMP_001_2294425.CODOPERARIO = RUTAS.RUTA_OPERARIO
WHERE RUTAS.RUTA_FECHA > '20050101') AND (RUTAS.RUTA_FECHA
< '20050222') GROUP BY _TMP_001_2294425.CODOPERARIO,
_TMP_001_2294425.DESCRIPCION ORDER BY numero

EN LA TABLA _TMP... hay operarios que no tienen registros
en la tabla RUTAS, y por lo tanto el campo numero es 0.

El problema es que cuando pongo la condicion "WHERE.." los
operarios que no tienen rutas no me sale, porque? si la
relacion es LEFT JOIN..., porque no me salen?

Saludos

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