我有两个表,一个跟踪产品的购买(用EAN表示),另一个跟踪产品的销售。但并非所有销售的产品都在采购表中,反之亦然。例如:
购买
PurchaseNo
|
伊恩
|
1.
|
|
2.
|
0002
|
3.
|
0003
|
4.
|
0004
|
出售
萨勒诺
|
伊恩
|
1.
|
0002
|
2.
|
0003
|
3.
|
0004
|
4.
|
0005
|
我还有一张表格,上面有EAN编号的产品规格:
ProductEAN
伊恩
|
名称
|
0001
|
产品1
|
0002
|
产品2
|
0003
|
产品3
|
0004
|
产品4
|
0005
|
产品5
|
现在我想创建一个视图,告诉我当前的库存(即使库存为负数)。我目前的方法是为购买和销售创建一个视图,每个视图中的“金额”列告诉我购买或销售了多少产品。
因此,对于我的购买,这将是:
CREATE VIEW `PurchaseAmount` AS
SELECT
`ProductEAN`.`EAN` AS `EAN`,
COUNT(`Purchase`.`EAN`) AS `Amount`
FROM (`ProductEAN` JOIN `Purchase`)
WHERE `ProductEAN`.`EAN` = `Purchase`.`EAN`
GROUP BY `ProductEAN`.`EAN`
和我的销售额相当。
现在我想结合这两个视图来创建最终的库存视图。问题是,据我所知和测试,我只能在我的视图中进行正常连接,这导致我的两个“子”视图不包含未购买或出售的EAN。因此,我的最终库存视图只能显示采购和销售表中的EAN。
有没有办法在MySQL视图中进行左连接,从而只保留所有EAN,即使这些EAN没有在视图引用的表中使用。