LEFT JOIN

16/05/2006 - 23:48 por CAAL | Informe spam
Hola amigos del foro
Tengo una duda, resulta que tengo tres tablas de las cuales tengo la
siquiente sentencia:

SELECT P.NADDP AS CLIENTE, P.DTMMAX AS FECHA,
SUM(M.QTYA) AS CANTIDAD, SUM(M.QTYA * M.PRI) AS SUBTOTAL, S.SITIO_ENT
FROM PEDIDOS P INNER JOIN MVTOPEDI M ON P.NRORDEN = M.NRORDEN LEFT JOIN
SUCURSAL S ON S.COD_SUCU = P.CLIENTE
WHERE INLIST(P.NADDP, '7701001026206', '7701001026305', '7701001026404') AND
BETWEEN(P.DTMMAX, THISFORM.TEXT1.VALUE, THISFORM.TEXT2.VALUE )
GROUP BY P.DTMMAX, P.NADDP

Pero resulta que la tabla SUCURSAL tiene campos repetidos quisiera que solo
me devolviera un solo registros coincidente con la consulta de la izquierda,
como debo usar ese LEFT JOIN.

Esto lo tengo en Tablas de Visual Fox y lo estoy migrando a SQL SERVER, pero
me queda la inquientud de cuando no hay ese tipo de integridad que se hace
para que duplique las filas.
 

Leer las respuestas

#1 BitOne®
17/05/2006 - 00:01 | Informe spam
Colocale distinct a la consulta para eliminar los repetidos.

BitOne®


"CAAL" escribió en el mensaje
news:
Hola amigos del foro
Tengo una duda, resulta que tengo tres tablas de las cuales tengo la
siquiente sentencia:

SELECT P.NADDP AS CLIENTE, P.DTMMAX AS FECHA,
SUM(M.QTYA) AS CANTIDAD, SUM(M.QTYA * M.PRI) AS SUBTOTAL, S.SITIO_ENT
FROM PEDIDOS P INNER JOIN MVTOPEDI M ON P.NRORDEN = M.NRORDEN LEFT JOIN
SUCURSAL S ON S.COD_SUCU = P.CLIENTE
WHERE INLIST(P.NADDP, '7701001026206', '7701001026305', '7701001026404')


AND
BETWEEN(P.DTMMAX, THISFORM.TEXT1.VALUE, THISFORM.TEXT2.VALUE )
GROUP BY P.DTMMAX, P.NADDP

Pero resulta que la tabla SUCURSAL tiene campos repetidos quisiera que


solo
me devolviera un solo registros coincidente con la consulta de la


izquierda,
como debo usar ese LEFT JOIN.

Esto lo tengo en Tablas de Visual Fox y lo estoy migrando a SQL SERVER,


pero
me queda la inquientud de cuando no hay ese tipo de integridad que se hace
para que duplique las filas.


Preguntas similares