显然是该平台的新手。我长期以来一直是堆栈溢出的读者,但我是第一次海报,所以请对我轻松一点。
我有2个数据库(在同一实例中),每个公司一个。我们将它们称为公司A和公司B。这两个数据库都有以下列:产品编号,仓库,数量
我想创建一个具有3列的SQL视图:ProductID,数量A(来自数据库A),数量B(来自数据库B)
我也想包括以下条件:
它只应返回具有数量A或数量B或两者都有的产品的结果。如果任何数据库中都没有库存,则不应返回任何结果。
对于数量A-仓库= XY和XZ的返回结果
非常感谢您的帮助
如果我理解正确,对于要在产品级别合并的每个公司,您都有两个单独的表。
一种方法是union all
和group 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;