如何解决在 MS Access 或 Excel 中连接多个表
我有多个 (3+) Excel 表格(前 3 个表格仅提供第一行用于演示目的)。我想要实现的是显示所有表中的所有行,并在存在共同值的地方加入它们,即我试图模拟 FULL OUTER JOIN。
TBL1
IDno IDname d10 d30 datecreated
12-778 Robetrt 62 72 9/25/2020
TBL2
IDno IDname result3 datecreated
12-124 Sam2 text22 9/25/2018
TBL3
IDno IDname Area datecreated
12-324 Trinton 6.25 9/25/2013
有时不同表之间的 IDno 是相同的,但在大多数情况下它们是不同的。
SELECT TBL1.IDno,TBL1.IDname FROM TBL1 UNION SELECT TBL2.IDno,TBL2.IDname FROM TBL2 UNION SELECT TBL3.IDno,TBL3.IDname FROM TBL3;
我将查询命名为 IDs
。然后,我想得到一个表格,该表格将显示所有行并合并 IDno 相同的行:
结果
IDno IDname d10 d30 result3 Area
我用过:
SELECT
IDs.IDno,IDs.IDname,TBL1.d10,TBL1.d30,TBL2.result3,TBL3.Area
FROM ((IDs
left join TBL1 on IDs.IDno = TBL1.IDno)
left join TBL2 on TBL1.IDno = TBL2.IDno)
left join TBL3 on TBL1.IDno = TBL3.IDno
UNION
SELECT
IDs.IDno,TBL3.Area
FROM ((IDs
right join TBL1 on IDs.IDno = TBL1.IDno)
right join TBL2 on TBL1.IDno = TBL2.IDno)
right join TBL3 on TBL1.IDno = TBL3.IDno
WHERE
IDs.IDno IS NULL;
最终结果是带有一些附加行的 LEFT JOINed 表,这些行显示 IDno 和 IDname,但没有来自 TBL2 或 TBL3 的数据。在这种情况下,我无法弄清楚如何 UNION
左右 JOIN 以实现 FULL OUTER JOIN。它适用于 2 个表,但不适用于 Acess 中的三个或更多。有没有办法在不需要 sql 服务器的情况下在 Excel(Power query)或其他地方连接多个表?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。