如何对access中两个数据库中表进行联合查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何对access中两个数据库中表进行联合查询相关的知识,希望对你有一定的参考价值。

点击菜单栏上面的:创建——查询设计;
在弹出的对话框中选择两个表:订单和订单明细,然后点击添加;
添加下列字段到设计表中;
点击菜单栏上面的保存按钮;
在弹出的对话框中,输入这个查询的名字,然后点击确定即可。
参考技术A select.字段1,字段2 from 表1
union
select 字段1,字段2 from 表2
要求:两张表具有相同数据列,且列属性相同
参考技术B 如果两个表的数据列不相同呢?有办法吗?

如何对 postgresql 中具有联合的查询进行更新?

【中文标题】如何对 postgresql 中具有联合的查询进行更新?【英文标题】:How to do an update on a query having union in postgrsql? 【发布时间】:2021-03-26 05:38:23 【问题描述】:

我有 2 个表名为 test 和 test_snapshop。在测试表中我正在保存当前数据,在 test_snapshot 中我正在保存旧数据。现在我需要对一些 id 值进行更新。有可能一些 id 存在于测试中,而另一些存在于快照表中。

我试过这样

update test 
  set column1=value,
      column2=value,
      column3=value 
where column4 in(1,2,3)
union
update test_snapshot 
  set  column1=value,
       column2=value,
       column3=value 
where column4 in(1,2,3)

两个表的列号和名称相同。

上述查询与预期不符。我在这个查询中做错了什么。任何人都可以帮助我。

我是 postgresql 新手。

【问题讨论】:

只需运行两次更新。 UPDATE 不支持 UNION,这里也不需要。 与您的问题无关,但是:Postgres 9.2 是no longer supported,您应该尽快计划升级。 我投票结束是一个错字。 union 是一个错字。只需运行两个单独的语句。 【参考方案1】:

虽然我投票关闭是一个错字,但您可以在 Postgres 中使用单个语句来表达这一点。我可能会去:

with ids as (
      select *
      from (values (1), (2), (3)) v(id)
     ),
     t as (
      update test 
          set column1 = value,
              column2 = value,
              column3 = value 
          where column4 in (select i.id from ids i)
     )
update test_snapshot 
    set column1 = value,
        column2 = value,
        column3 = value 
     where column4 in (select i.id from ids i);

使用这种结构,您只需要列出一次 id 值。

【讨论】:

以上是关于如何对access中两个数据库中表进行联合查询的主要内容,如果未能解决你的问题,请参考以下文章

MS Access导出联合查询到Excel,VBA问题

Access select where 数据库查询 多表联合查询

在 Laravel Eloquent 中,你如何在联合范围之外进行两个联合查询和一个选择?

如何对 postgresql 中具有联合的查询进行更新?

Access数据库中多表联合查询,并显示记录

sql注入之mysql的联合查询爆破