我有一个包含列(29)的表,其中FrontID是主键,但我有另外10个表(每个只有4列),它们也有FrontID列,但是还有另一个名为Desc1的字段,Desc2 ... Desc10和我想要的是用另一个10个DescX列填充第一个表,这样只有当两个行具有相同的FrontID时才会出现。
所有表格都是.csv格式,所以我在Access中创建了表格,并且我已经在.csv中收费了,但是当我试图让查询加密所有信息时,我无法获得我想要的是,我认为问题在于我没有把桌子关系起来......
换句话说,我尝试创建一个包含39列(29 + 10)的表,以查看在导入.csv DescX字段时它们是否可以加载但是它没有工作。
我知道如何解决这个问题?
EG。更大的.csv文件:
DDATE xxx xxx FRONT_ID xxx xxx xxx xxx xxxxxx xxx xxx xxx xxx xxx xxx CCY xxx xxx xxx xxx xxx xxx xxx xxx xxx xxxxxx xxx xxx xxx xxx xxx xxx xxx
另外10个.csv就像这样:
DDATE FRONT_ID Desc1 xxx xxx
所以当原始表格(较大的)和新表格中的FRONT_ID相同时,我希望第一个表格带有新的Desc1列。
提前致谢, 劳尔
好的我认为这是一个更好的例子:
我有3个表格,例如:
Main Table | TABLE 2 | TABLE 3
ID Name | ID Surname | ID Phone
1 Jhon | 1 Surname1 | 1 666-555-444
2 Mark | 2 Surname2 | 5 777-777-777
3 Susan | 3 Surname3 | 6 123-456-789
4 Peter |
5 Yod |
6 Samuel |
我想要的是这样的:
FINAL TABLE
ID Name Surname Phone
1 Jhon Surname1 666-555-444
2 Mark Surname2
3 Susan Surname3
4 Peter
5 Yod 555-444-333
6 Samuel 444-333-222
我尝试这样的事情:
SELECT Table1.ID, Table1.Name, Table2.Surname, Table3.Phone AS Expr1
FROM Table1, Table2, Table3
WHERE Table2.ID=Table1.ID OR Table3.ID=Table1.ID
我尝试使用INNER JOIN进行查询,但结果很糟糕,我不知道原因:
1 Jhon Surname1 666-555-444
有人可以帮助我吗?也许我需要编写一些宏来在主表上添加新列? 正如你们所有人都可以在Access中看到的那样,我可以阅读一些教程或一个很好的页面来阅读。
祝你好运, 劳尔
答案 0 :(得分:0)
您说过使用Inner Join作为示例。这几乎是正确的方法:只需用LEFT JOIN替换INNER JOIN。 (使用您在问题中未见的陈述查询)
内部联接表示它必须在main和其他两个表中都有一个条目。如果使用左连接(主表左侧),即使表2或表3中没有条目,您也会看到主表中的条目。