سؤال

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

وهكذا، كيف يمكنني إضافة صلة بين هذه الجداول؟ أحتاج إلى اليسار الانضمام، مثل:

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

والتوليد: TABLE1 وTable2 أنا فقط واضاف لشرح

وشكرا.


هل لديك لاستخدام UNION؟

هل كانت مفيدة؟

المحلول

لا لم يكن لديك لاستخدام الاتحاد. إذا فهمت سؤالك بشكل صحيح، انها بسيطة مثل الجمع بين أشياء من هذا القبيل:

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]) 

نصائح أخرى

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

وأنا أفهم أن كنت تريد أن صلة خارجية جدول، دون استخدام "التسجيل في بناء الجملة؟

وماذا DBMS الذي تستخدمه؟ فمن الممكن القيام بذلك في من بند، ولكن بناء الجملة يختلف عن نظم إدارة قواعد البيانات لنظم إدارة قواعد البيانات.

وعلى سبيل المثال، في SQL Server، وهذا هو بناء الجملة:

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

في أوراكل، من ناحية أخرى، كنت لا تستخدم أستريكس ولكن (+) بقدر ما أتذكر.

وعلى أي حال، أعتقد أنه من أكثر وضوحا لاستخدام بناء الجملة JOIN (LEFT JOIN ...)

وربما:

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

وقدمت تريد ترك انضمام جميع الجداول كنت ستفعل:

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

وأعتقد أن لديك لتوضيح سؤالك من أجل وقف التخمين لدينا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top