Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 两个数据库之间的数据库更改_Sql_Database_Excel_Ms Access - Fatal编程技术网

Sql 两个数据库之间的数据库更改

Sql 两个数据库之间的数据库更改,sql,database,excel,ms-access,Sql,Database,Excel,Ms Access,我有两个Microsoft Access 2007数据库。它们都有非常相似的表,有两个不同的列,但大多数结构是相同的 我将其中一个表(表A)导出到Excel并进行过滤,得到一个行及其键的列表 我想做的是更新另一个表(表B)中键相同的行,我不能使用相同的逻辑进行筛选,因为表B没有以相同方式进行筛选所需的列 如果行的键与筛选后的表A上的键匹配,则表B中的某些单元格将设置为表A中的值 我的想法是将这两个表导入到C#应用程序中,并以编程方式进行更改,但如果有更简单的方法,可能是基于SQL的方法(或使用E

我有两个Microsoft Access 2007数据库。它们都有非常相似的表,有两个不同的列,但大多数结构是相同的

我将其中一个表(表A)导出到Excel并进行过滤,得到一个行及其键的列表

我想做的是更新另一个表(表B)中键相同的行,我不能使用相同的逻辑进行筛选,因为表B没有以相同方式进行筛选所需的列

如果行的键与筛选后的表A上的键匹配,则表B中的某些单元格将设置为表A中的值


我的想法是将这两个表导入到C#应用程序中,并以编程方式进行更改,但如果有更简单的方法,可能是基于SQL的方法(或使用Excel中的某些内容)根据不同数据库中的表更新其中一个表,我希望使用它能够更快地完成。

您可以在ms access中编写跨数据库SQL查询。这取决于文件位置。解释

因此,您可以对更新查询执行相同的操作

UPDATE
    s2006
SET
    s2006.col1 = s2007.col1,
    s2006.col2 = s2007.col2
FROM
    c:\data\Sales2006.Sales s2006
INNER JOIN
    c:\data\Sales2007.Sales s2007
ON
    s2006.id = s2007.id

然而,在我看来,这似乎是一种需要避免的情况

是的,我决定创建一个临时表添加到新的Access数据库中,这样我就可以针对它编写更新,而不必按文件位置引用另一个数据库。然而,更新查询的结构正是我所需要的。我尝试运行显示的查询,它在查询表达式中抛出了一个“语法错误(缺少运算符)”,并突出显示最后一个集合和FROM语句之间的行。不管怎样,我发现集合应该在联接之后,而您不需要“FROM”当您更新表时。