我有三个表(A、B、C),A 有一个与 B 共享的 key ,B 有一个与 C 共享的 key 。我必须合并这三个表才能从 A 中获取与列相关的信息在 C 中。我的代码是:
SELECT
a.x_code, a.item_id, c.action_type, c.item_name
FROM
A a
RIGHT OUTER JOIN
B b ON b.item_id = a.item_id
LEFT OUTER JOIN
C c ON c.item_name = b.item_name
我在 MySQL 上运行它,查询没有生成任何结果并超时。
如有任何帮助,我们将不胜感激。
谢谢
最佳答案
不确定为什么需要外连接。试试这个。
SELECT
a.x_code, b.item_id, c.action_type, b.item_name
FROM
B b
JOIN
A a ON b.item_id = a.item_id
JOIN
C c ON c.item_name = b.item_name
请注意,我更改了表顺序并将连接表放在第一位。
如果您坚持使用外部联接,请将联接更改为 LEFT OUTER JOIN - 两者,并在查询末尾添加 WHERE a.x_code IS NOT NULL AND c.action_type IS NOT NULL。
关于mysql - 连接 MySQL 上的多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35026994/