我有一个很大的值列表,可以添加到ms Access数据库的新列中(不幸的是,数据存储在SharePoint列表中)。
该数据库包含客户ID,我需要将数据添加到新列中,该数据将特定于每个客户ID。
例如,我要添加的电子表格数据:
Cust ID | DataToAdd
1 | Car
2 | Boat
3 | Bike
4 | Plane
我的表的设置类似于:
Cust ID | Location | DataToAdd
1 | Europe |
2 | Asia |
3 | Africa |
4 | US |
我知道如何使用以下命令分别插入值(但数据长成千上万条记录):
Insert Into [MyTable] (DataToAdd) Values (Car)
where [Cust ID] = 1
有没有一种方法可以批量将所有DataToAdd列添加到CustID相同的表中?
答案 0 :(得分:0)
使用新数据创建登台表。
[stagingTable]
Cust ID | DataToAdd
1 | Car
2 | Boat
3 | Bike
4 | Plane
并更新您的目标表
UPDATE [MyTable]
INNER JOIN [stagingTable] ON [MyTable].[Cust ID] = [stagingTable].[Cust ID]
SET [MyTable].[DataToAdd] = [stagingTable].[DataToAdd]
答案 1 :(得分:0)
A staging table is definitely a good idea. You can also use `switch`:
update t
set datatoadd = switch(customerid = 1, 'car',
customerid = 2, 'boat',
customerid = 3, 'bike',
customerid = 4, 'plane',
1=1, datatoadd
);
您可以使用电子表格中的公式构造每个条件。这样可以很容易地生成这样的查询。