Ist die join-Ausdruck nicht unterstützt von MS Access?
Kann jemand mir erklären was ist falsch mit meiner Abfrage?
SELECT T2.TIPOPRODUTO
, T2.PRODUTO
, T1.ESPESSURA
, '' AS LARGURA
, '' AS COMPRIMENTO
, '' AS [ACABAM REVEST]
, '' AS [ESPECIF QUALIDADE]
, T1.CÓDIGORASTREABILIDADE
, T3.DATA
, T4.NOMEFANTASIA
, T7.NOME
, T5.DT_INICIO_RESERVA
, T1.PESO
, T5.DT_FIM_RESERVA
, '' AS DESTINO
, T3.OBSERVAÇÃO
, '' AS [CUSTO TOTAL]
FROM ([TABELA DE PRODUTOS/ESTOQUE] LEFT OUTER JOIN [TABELA DE PRODUTOS] ON ([TABELA DE PRODUTOS/ESTOQUE].PRODUTO=[TABELA DE PRODUTOS].ID))
[TABELA DE PRODUTOS/ESTOQUE ] AS T1
, [TABELA DE PRODUTOS] AS T2
, [TABELA DE MOVIMENTAÇÃO DE ESTOQUE] AS T3
, [TABELA DE FORNECEDORES] AS T4
, RESERVAS_PRODUTOS_ESTOQUE AS T5
[TABELA DE MOVIMENTAÇÃO DE PRODUTOS/ESTOQUE] AS T6
, [TABELA DE USUÁRIOS] AS T7
, [TABELA DE PEDIDOS DE COMPRA] AS T8
WHERE (((T1.Produto)=[T2].[ID])
AND ((T1.ID)=[T5].[ID_PRODUTO_ESTOQUE])
AND ((T5.id_vendedor)=[T7].[ID])
AND ((T3.ID)=[T6].[ID])
AND ((T2.ID)=[T6].[PRODUTO])
AND ((T4.ID)=[T8].[FORNECEDOR])
AND ((T8.Comprador)=[T7].[ID]));
Meine beste Vermutung ist, nicht auf dieser Linie:
([TABELA DE PRODUTOS/ESTOQUE] LEFT OUTER JOIN [TABELA DE PRODUTOS] ON ([TABELA DE PRODUTOS/ESTOQUE].PRODUTO=[TABELA DE PRODUTOS].ID))
- Dies ist eine etwas seltsam aussehende Abfrage, dass Sie haben eine Reihe von Tabellen, die nicht verbunden mit etwas. Soweit ich weiß, nur die beitreten, die die Arbeit mit dem set-up, die Sie haben, ist eine INNERE VERKNÜPFUNG. Allerdings müssen Sie möglicherweise zu überdenken, Ihr Entwurf.
- LEFT OUTER JOIN ist nicht Jet SQL-syntax. Es verwendet die LEFT JOIN-und RIGHT JOIN, aber das weglassen der "ÄUßERE." Ich kann nicht sagen, ob es 100% äquivalent zu dem, was Sie in anderen SQL-Dialekten.
- W. Fenton: wussten Sie testen, was Sie behaupten? Getestet habe ich in den Jet 3.51, Jet 4.0 und ACE (2007) und LEFT OUTER JOIN funktioniert auf allen. Wenn Sie nicht, testen Sie Ihre SQL -, es ist nur nicht hilfreich, poste es als Antwort, meiner Meinung nach.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mischen Sie eine join-Anweisung mit "klassischen " joins" (eine durch Komma getrennte Liste von Tabellen mit Bedingungen in der where-Anweisung), die ich glaube, ist nicht erlaubt.
Ändern Sie die Abfrage, nur join-Anweisungen. In Access haben Sie ein Pairing der beiden joins Klammern, in dieser Weise: