gpt4 book ai didi

sql - MS Access 中的左连接

转载 作者:行者123 更新时间:2023-12-01 02:32:35 27 4
gpt4 key购买 nike

我正在尝试对其他人的 MS Access 查询进行故障排除,并不断收到无效操作错误。帮助似乎并不适用,因为我只是在运行查询。这一切都适用于 INNER JOINS但是当我切换回 LEFT JOIN 时错误。

SELECT *
FROM ((((orders
INNER JOIN orders_customers ON orders.CUST_ORDER_ID = orders_customers.ID)
LEFT JOIN quoted_theory ON orders.PART_ID = quoted_theory.PART_ID)
LEFT JOIN conversions ON orders.PART_ID = conversions.PART_ID)
LEFT JOIN dbo_WO_Header ON orders.CUST_ORDER_ID = dbo_WO_Header.PPC_Number)
INNER JOIN lines_qry ON orders.CUST_ORDER_ID = lines_qry.WORKORDER_BASE_ID

我可以得到一级 LEFT JOIN ,但每次我添加第二个 LEFT JOIN错误弹出。

最佳答案

Access 的数据库引擎在混合 INNER 和 LEFT 连接时经常会出现问题。如果该查询在没有最后一个内部联接的情况下工作......

SELECT *
FROM
(((orders INNER JOIN orders_customers
ON orders.CUST_ORDER_ID = orders_customers.ID)
LEFT JOIN quoted_theory
ON orders.PART_ID = quoted_theory.PART_ID)
LEFT JOIN conversions
ON orders.PART_ID = conversions.PART_ID)
LEFT JOIN dbo_WO_Header
ON orders.CUST_ORDER_ID = dbo_WO_Header.PPC_Number

...然后你可以尝试将该部分作为子查询和内部连接 ​​ lines_qry到子查询。它可能会克服错误。
SELECT *
FROM
(
SELECT *
FROM
(((orders INNER JOIN orders_customers
ON orders.CUST_ORDER_ID = orders_customers.ID)
LEFT JOIN quoted_theory
ON orders.PART_ID = quoted_theory.PART_ID)
LEFT JOIN conversions
ON orders.PART_ID = conversions.PART_ID)
LEFT JOIN dbo_WO_Header
ON orders.CUST_ORDER_ID = dbo_WO_Header.PPC_Number
) AS sub
INNER JOIN lines_qry
ON sub.CUST_ORDER_ID = lines_qry.WORKORDER_BASE_ID

如果除 orders 之外的任何其他表包括一个名为 CUST_ORDER_ID 的字段,您将需要除 SELECT * 以外的其他东西在子查询中以避免歧义。

关于sql - MS Access 中的左连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12273602/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com