我正在尝试将两个主页中的数据合并到一个工作簿中。 我已经成功地将数据查询到两个不同的记录集中,如下所示:
SELECT F1,F5,F12,F13,F37,F38 FROM [KAP$] WHERE F8 LIKE 'klima'
和
SELECT F1, F2, F3, F4, F5, F6, F7, F8 FROM [Klima$A3:H899] WHERE F1 IS NOT NULL
不幸的是,我还没有找到“合并”两个记录集的方法。 但是我注意到,更好的方法是使用左连接一次查询两张纸。但是我只是无法正确使用语法。我的最后一次尝试是这样的:
SELECT
[KAP$].F1,
[KAP$].F5,
[KAP$].F12,
[KAP$].F13,
[KAP$].F37,
[KAP$].F38,
[Klima$].F1,
[Klima$].F2,
[Klima$].F3,
[Klima$].F4,
[Klima$].F5,
[Klima$].F6,
[Klima$].F7,
[Klima$].F8
FROM [KAP$] WHERE [KAP$].F8 LIKE 'Klima' LEFT JOIN [Klima$A3:H899] ON [KAP$].F1=[Klima$].F1
但正如我已经注意到它有不止一个问题...任何帮助都是a,,我一直在寻找一个合适的excel vba adodb指南几个小时没有成功....
谢谢!
编辑:以下是一些示例数据:
KAP:
ID1 Info1 Info2 KAPinfo1 KAPinfo2 KAPinfo3
ID2 Info1 Info2 KAPinfo1 KAPinfo2 KAPinfo3
ID3 Info1 Info2 KAPinfo1 KAPinfo2 KAPinfo3
ID4 Info1 Info2 KAPinfo1 KAPinfo2 KAPinfo3
ID5 Info1 Info2 KAPinfo1 KAPinfo2 KAPinfo3
ID6 Info1 Info2 KAPinfo1 KAPinfo2 KAPinfo3
克利马:
ID1 Info1 Info2 Klima3 Klima4 Klima5 Klima6 Klima7 Klima8
ID2 Info1 Info2 Klima3 Klima4 Klima5 Klima6 Klima7 Klima8
ID3 Info1 Info2 Klima3 Klima4 Klima5 Klima6 Klima7 Klima8
ID6 Info1 - - Klima3 Klima4 Klima5 Klima6 Klima7 Klima8
合并的表应如下所示:
ID1 Info1 Info2 Klima3 Klima4 Klima5 Klima6 Klima7 Klima8 KAPinfo1 KAPinfo2 KAPinfo3
ID2 Info1 Info2 Klima3 Klima4 Klima5 Klima6 Klima7 Klima8 KAPinfo1 KAPinfo2 KAPinfo3
ID3 Info1 Info2 Klima3 Klima4 Klima5 Klima6 Klima7 Klima8 KAPinfo1 KAPinfo2 KAPinfo3
ID4 Info1 Info2 - - - - - - - - - - - - - - - - KAPinfo1 KAPinfo2 KAPinfo3
ID5 Info1 Info2 - - - - - - - - - - - - - - - - KAPinfo1 KAPinfo2 KAPinfo3
ID6 Info1 Info2 Klima3 Klima4 Klima5 Klima6 Klima7 Klima8 KAPinfo1 KAPinfo2 KAPinfo3
基本上我想用左表(KAP)中的信息覆盖右表(Klima)中的列Info1和Info2,同时在右表中保留额外的列(Klima)
答案 0 :(得分:4)
如果您需要左连接,则sintax for join应为:
SELECT
[KAP$].F1,
[KAP$].F5,
[KAP$].F12,
[KAP$].F13,
[KAP$].F37,
[KAP$].F38,
[Klima$A3:H899].F1,
[Klima$A3:H899].F2,
[Klima$A3:H899].F3,
[Klima$A3:H899].F4,
[Klima$A3:H899].F5,
[Klima$A3:H899].F6,
[Klima$A3:H899].F7,
[Klima$A3:H899].F8
FROM [KAP$]
LEFT JOIN [Klima$A3:H899] ON ([KAP$].F1=[Klima$A3:H899].F1)
WHERE [KAP$].F8 LIKE 'Klima%'
假设[Klima $ A3:H899]是有效的表或同等的
答案 1 :(得分:1)
尝试此查询:
SELECT [KAP$].F1,
[KAP$].F5,
[KAP$].F12,
[KAP$].F13,
[KAP$].F37,
[KAP$].F38,
[Klima$].F1,
[Klima$].F2,
[Klima$].F3,
[Klima$].F4,
[Klima$].F5,
[Klima$].F6,
[Klima$].F7,
[Klima$].F8
FROM
(SELECT F1,F5,F12,F13,F37,F38 FROM [KAP$] WHERE F8 LIKE 'klima') AS [KAP$]
LEFT JOIN
(SELECT F1, F2, F3, F4, F5, F6, F7, F8 FROM [Klima$A3:H899] WHERE F1 IS NOT NULL) AS [Klima$]
ON [KAP$].F1 = [Klima$].F1