在零售商报告透视图中,您要报告文章的执行情况以及库存数量。 (非常简化)。
给定(子)结构:
(Product)-[HasStock]->(Stock)
(Product)-[InSale]->(Sale)
想象一下,我们有2个产品:
P1 = {Id= 1, Color=Black, Size=L}
P2 = {Id= 2 ,Color=Black, Size=M}
每个库存条目(库存){Quantity = 2}(也就是4个库存单位) 在Sale中我们有:
S1 = {Id= 1, Product= 1, Quantity=1}
如果我查询数据
P.Product,P.Color,P.Size,Sum(Stock.Quantity) as stockcount, Sum(Sale.Quantity) as sold
我总是只用P1产品得到一个结果,库存数量为2(而不是2个对象,总和(库存)= 4)....我需要的是Relational dbms的“外连接”机制。 ..
我该如何做到这一点?
(重新设计关系是可以的,但产品不是每天都在销售中,因此在空白关系的销售中添加额外的节点不是一种选择)。 (在1亿个节点上工作)。
同样地,我不想做笛卡尔积,因为它会破坏性能:(
答案 0 :(得分:2)
那就是:
OPTIONAL MATCH(p)--(sale:Sale)
当没有销售时,您从销售处返回的任何字段都将具有空值。
希望这有帮助。
此致 汤姆