Pregunta

FROM [TABELA DE PRODUTOS/ESTOQUE] AS T1
, [TABELA DE PRODUTOS] AS T2
, [TABELA DE MOVIMENTAÇÃO DE ESTOQUE] AS T3
, [TABELA DE FORNECEDORES] AS T4
, [TABELA DE PRODUTOS/ESTOQUE] AS T5
WHERE (((T1.Produto)=[T2].[ID]) 
ETC

Entonces, ¿cómo puedo agregar un JOIN entre esas tablas? Necesito unirme a la izquierda, como:

FROM [TABELA DE PRODUTOS/ESTOQUE] <- TABLE1
LEFT JOIN [TABELA DE MOVIMENTAÇÃO DE ESTOQUE] <- TABLE2
ON TABLE1.ID=TABLE2.ID

Obs: Tabla1 y Tabla2 que acabo de agregar para explicar

Gracias.


¿Tengo que usar UNION?

¿Fue útil?

Solución

No, no tienes que usar una unión. Si entiendo su pregunta correctamente, es tan simple como combinar cosas como esta:

FROM      [TABELA DE PRODUTOS/ESTOQUE]            AS T1,
          [TABELA DE PRODUTOS]                    AS T2,
          [TABELA DE MOVIMENTAÇÃO DE ESTOQUE]     AS T3A,
          [TABELA DE FORNECEDORES]                AS T4,
          [TABELA DE PRODUTOS/ESTOQUE]            AS T5,
LEFT JOIN 
          [TABELA DE MOVIMENTAÇÃO DE ESTOQUE]     AS T3B ON T1.ID=T3B.ID
WHERE (((T1.Produto)=[T2].[ID]) 

Otros consejos

FROM [TABELA DE PRODUTOS/ESTOQUE] AS TABLE1
LEFT JOIN [TABELA DE MOVIMENTAÇÃO DE ESTOQUE] AS TABLE2
ON TABLE1.ID=TABLE2.ID

Entiendo que quieres OUTER JOIN una tabla, sin usar la sintaxis 'JOIN'?

¿Qué DBMS estás usando? Es posible hacer esto en la cláusula from, pero la sintaxis difiere de DBMS a DBMS.

Por ejemplo, en SQL Server, esta es la sintaxis:

SELECT * 
FROM Table1, Table2
WHERE Table1.Id *= Table2.Id

En Oracle, por otro lado, no usas un asterisco sino un (+) por lo que recuerdo.

De todos modos, creo que es más claro usar la sintaxis JOIN (LEFT JOIN ...)

Quizás:

FROM [TABELA DE PRODUTOS/ESTOQUE] AS T1
, [TABELA DE PRODUTOS] AS T2
, [TABELA DE MOVIMENTAÇÃO DE ESTOQUE] AS T3
, [TABELA DE FORNECEDORES] AS T4
, [TABELA DE PRODUTOS/ESTOQUE] AS T5
WHERE (T1.Produto=T2.ID OR T2.ID IS NULL)
ETC

Siempre que desee unir a la izquierda todas las tablas que haría:

SELECT *
FROM [TABELA DE PRODUTOS/ESTOQUE] AS T1 
LEFT OUTER JOIN [TABELA DE PRODUTOS] AS T2 ON T1.Key = T2.Key
LEFT OUTER JOIN [TABELA DE MOVIMENTAÇÃO DE ESTOQUE] AS T3 ON T2.Key = T3.Key
LEFT OUTER JOIN [TABELA DE FORNECEDORES] AS T4 ON T3.Key = T4.Key
LEFT OUTER JOIN [TABELA DE PRODUTOS/ESTOQUE] AS T5 ON T4.Key = T5.Key

Creo que tiene que aclarar su pregunta para evitar que adivinemos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top