OUTER JOIN en SQL Server 7
Hola:
¿Cómo estas?... Te escribo porque tengo un problema y espero que me puedas ayudar.
El problema es el siguiente:
Tengo que obtener de una BD en SQL Server 7 un PEDIDO con su respectivo DOCUMENTO (si es que tiene) y si existe el DOCUMENTO, obtener el DETALLE_DOCUMENTO del mismo.
El problema se presenta cuando realizo un OUTER JOIN entre la tabla PEDIDOS y la tabla DOCUMENTOS y luego realizo un JOIN común entre la tabla DOCUMENTOS y la tabla DETALLE_DOCUMENTOS.
SQL Server 7 me tira un error que dice que no se puede en una misma consulta tener involucrada una misma tabla (DOCUMENTOS en este caso) en un OUTER JOIN y en un JOIN común.
La consulta seria la siguiente:
select *
from
Pedidos p,
Documentos de,
detalle_documentos dd
where
norden = '000-210013' AND
p.rut *= d.rut AND
d.nro_comprobante = dd.nro_comprobante;
El error que tira SQL Server 7 es:
The table 'documentos' is an inner member of an outer-join clause. This is not allowed if the table also participates in a regular join clause.
Necesitaría saber si es que estoy haciendo algo mal o si hay alguna otra forma de obtener estos datos que necesito haciendo la mínima cantidad de consultas a la BD, ya que esta consulta me puede traer como resultado varios registros y no podría hacer que por cada uno vaya a buscar su detalle.
También intente utilizar Vistas dividiendo la consulta.. Pero me tira el mismo error.
Gracias...
Ximena
¿Cómo estas?... Te escribo porque tengo un problema y espero que me puedas ayudar.
El problema es el siguiente:
Tengo que obtener de una BD en SQL Server 7 un PEDIDO con su respectivo DOCUMENTO (si es que tiene) y si existe el DOCUMENTO, obtener el DETALLE_DOCUMENTO del mismo.
El problema se presenta cuando realizo un OUTER JOIN entre la tabla PEDIDOS y la tabla DOCUMENTOS y luego realizo un JOIN común entre la tabla DOCUMENTOS y la tabla DETALLE_DOCUMENTOS.
SQL Server 7 me tira un error que dice que no se puede en una misma consulta tener involucrada una misma tabla (DOCUMENTOS en este caso) en un OUTER JOIN y en un JOIN común.
La consulta seria la siguiente:
select *
from
Pedidos p,
Documentos de,
detalle_documentos dd
where
norden = '000-210013' AND
p.rut *= d.rut AND
d.nro_comprobante = dd.nro_comprobante;
El error que tira SQL Server 7 es:
The table 'documentos' is an inner member of an outer-join clause. This is not allowed if the table also participates in a regular join clause.
Necesitaría saber si es que estoy haciendo algo mal o si hay alguna otra forma de obtener estos datos que necesito haciendo la mínima cantidad de consultas a la BD, ya que esta consulta me puede traer como resultado varios registros y no podría hacer que por cada uno vaya a buscar su detalle.
También intente utilizar Vistas dividiendo la consulta.. Pero me tira el mismo error.
Gracias...
Ximena
3 Respuestas
Respuesta
1
Respuesta de neoicaro
1
Respuesta de marianote
1