Consulta left outer join

13/05/2008 - 20:58 por raul | Informe spam
Hola foreros,

Siempre me ha costado coger el concepto de los left outer join, cuando creía
enternderlo creía que podría funcionar esto:

tablas,

clientes, albaranes, lineas y articulos

mi problema es q quiero poder seguir viendo los albaranes aunque se hayan
borrado los articulos de la tabla.

( vale, vale, se que no se deben borrar articulos y tb que no se deben
guardar los conceptos de los articulos en las lineas del albaran,
perooooo , hay q trabajar con lo que tenemos. )

select *

from clientes, albaranes,lineas, articulos

where cliente.numero=albaran.cliente
and lineas.albaran=albaran.numero
and articulos.nombre=lineas.concepto
and cliente.tarifa=articulos.tarifa


Hasta aqui, bien, el problema es cuando se borra algun articulo he probado
con algo como

select *

from clientes, albaranes,
lineas left outer join articulos on articulos.nombre=lineas.concepto

where cliente.numero=albaran.cliente
and lineas.albaran=albaran.numero
and cliente.tarifa=articulos.tarifa




y sigue sin mostrarme las lineas de albaran que contienen un concepto que ya
no está en la lista de articulos.


¿ Podeis echarme un capote ??

no soy capaz

gracias de antemano.

raul.
 

Leer las respuestas

#1 Maxi
13/05/2008 - 21:31 | Informe spam
Raul, usted no se porque esta mezclando el viejo ansi con el nuevo en sus
consultas (where tablas1.campo = tabla2.campo)

Si quiere ver los albaranes entonces (sin probar con su modelo ni datos)
pruebe algo asi

select * albaranes
left join
cliente on
cliente.numero=albaran.cliente
left join
lineas on
lineas.albaran=albaran.numero
left join
articulos on
articulos.nombre=lineas.concepto
and
cliente.tarifa=articulos.tarifa










Salu2

Microsoft MVP SQL Server
Culminis Speaker
www.sqltotalconsulting.com

"raul" escribió en el mensaje
news:
Hola foreros,

Siempre me ha costado coger el concepto de los left outer join, cuando
creía enternderlo creía que podría funcionar esto:

tablas,

clientes, albaranes, lineas y articulos

mi problema es q quiero poder seguir viendo los albaranes aunque se hayan
borrado los articulos de la tabla.

( vale, vale, se que no se deben borrar articulos y tb que no se deben
guardar los conceptos de los articulos en las lineas del albaran,
perooooo , hay q trabajar con lo que tenemos. )

select *

from clientes, albaranes,lineas, articulos

where cliente.numero=albaran.cliente
and lineas.albaran=albaran.numero
and articulos.nombre=lineas.concepto
and cliente.tarifa=articulos.tarifa


Hasta aqui, bien, el problema es cuando se borra algun articulo he probado
con algo como

select *

from clientes, albaranes,
lineas left outer join articulos on articulos.nombre=lineas.concepto

where cliente.numero=albaran.cliente
and lineas.albaran=albaran.numero
and cliente.tarifa=articulos.tarifa




y sigue sin mostrarme las lineas de albaran que contienen un concepto que
ya no está en la lista de articulos.


¿ Podeis echarme un capote ??

no soy capaz

gracias de antemano.

raul.





Preguntas similares