Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   SQL Server (http://www.forosdelweb.com/f87/)
-   -   INNER con clave sprincipales compuestas (http://www.forosdelweb.com/f87/inner-con-clave-sprincipales-compuestas-505697/)

moNTeZIon 16/07/2007 10:26

INNER con clave sprincipales compuestas
 
Buenas.
Me encuentro con que he de hacer una consulta con INNER JOIN, relacionando dos tablas, CabeceraFactura y LineasFactura, y que a su vez, la clave principal de Cabecera son tres campos (Tipo, Serie, Numero) y la de Lineas (Tipo, Serie, Numero, Contador)
Me estoy volviendo loco porqué no me acepta nada de lo que le entro.
Yo He probado cosas como esta:
Código:

SELECT
    L.*
FROM
    [LineasFactura] AS L
    LEFT JOIN [CabeceraFactura] AS C ON L.Tipo=C.Tipo AND L.Serie=C.Serie AND L.Numero=C.Numero
WHERE loquesea...

Cuál es la forma correcta de realizar este INNER??
Gracias!

Andres95 16/07/2007 10:55

Re: INNER con clave sprincipales compuestas
 
Lo correcto seria con un inner join... primero la cabecera y luego el detalle....
solo hay que consultar para ver que efectivamente exista el detalle con la llave de cabecera a buscar...

Código:

SELECT L.*
FROM  [CabeceraFactura] AS C
Inner join
      [LineasFactura] AS L
ON    C.Tipo  = L.Tipo      AND
      C.Serie  = L.Serie    AND
      C.Numero = L.Numero
WHERE loquesea...


moNTeZIon 17/07/2007 02:07

Re: INNER con clave sprincipales compuestas
 
Gracias Andrés!
Funciona perfecto.
Por cierto! No es lo mismo poner primero la cabecera en el inner join y luego las lineas, que al reves?

Mithrandir 21/07/2007 15:53

Re: INNER con clave sprincipales compuestas
 
Cita:

Iniciado por moNTeZIon (Mensaje 2070069)
No es lo mismo poner primero la cabecera en el inner join y luego las lineas, que al reves?

Sí, pero ayuda para que la muchas veces estresada cabeza nuestra lo entienda mejor y más rápido si comienzas en un orden más o menos jerárquico.


La zona horaria es GMT -6. Ahora son las 06:43.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.