来自多个数据库记录的SQL视图

问题描述 投票:0回答:1

显然是该平台的新手。我长期以来一直是堆栈溢出的读者,但我是第一次海报,所以请对我轻松一点。

我有2个数据库(在同一实例中),每个公司一个。我们将它们称为公司A和公司B。这两个数据库都有以下列:产品编号,仓库,数量

我想创建一个具有3列的SQL视图:ProductID,数量A(来自数据库A),数量B(来自数据库B)

我也想包括以下条件:

  • 它只应返回具有数量A或数量B或两者都有的产品的结果。如果任何数据库中都没有库存,则不应返回任何结果。

  • 对于数量A-仓库= XY和XZ的返回结果

  • 对于数量B-仓库= XY的退货结果

非常感谢您的帮助

sql sql-server join group-by sql-view
1个回答
0
投票

如果我理解正确,对于要在产品级别合并的每个公司,您都有两个单独的

一种方法是union allgroup by

select productid, sum(quantity_a) as quantity_a,
       sum(quantity_b) as quantity_b
from ((select productid, quantity as quantity_a, 0 as quantity_b
       from a
      ) union all
      (select productid, 0 as quantity_a, quantity as quantity_b
       from b
      )
     ) ab
group by productid;
© www.soinside.com 2019 - 2024. All rights reserved.