代码之家  ›  专栏  ›  技术社区  ›  Akshay Vakharia

使用展开时数据丢失

  •  -1
  • Akshay Vakharia  · 技术社区  · 9 年前
    MATCH (ORG:ORG)-[ORGHASPROBLEM:HAS]->(PROBLEM:PROBLEM) WITH PROBLEM,
    
    extract(NUM IN filter( V IN collect({ PROB1:PROBLEM.PROB_ID, PROB2:PROBLEM.REGION}) where V.PROB2= 'LONDON') | NUM.PROB1) AS MEASURES1,
    
    extract(NUM IN filter( V IN collect({ PROB1:PROBLEM.PROB_ID, PROB2:PROBLEM.REGION}) where V.PROB2= 'PARIS') | NUM.PROB1) AS MEASURES2
    
    unwind MEASURES1 AS RESULT1
    unwind MEASURES2 AS RESULT2
    
    RETURN DISTINCT PROBLEM.SLAB AS DIMENSION,count(RESULT1) AS  MEASURES1,count(RESULT2) AS MEASURES2
    

    MEASURES1 AS RESULT1 它根据需要提供输出,但在第二次放卷(放卷)的情况下 MEASURES2 AS RESULT2 )它从中删除整个数据 MEASURES1 MEASURES2 .

    请参阅所附图片以更清楚地理解场景。

    Data model, expected output

    1 回复  |  直到 9 年前
        1
  •  0
  •   Tom Geudens    9 年前

    以下查询将以允许您构建报告的方式从数据库中获取数据。作为奖励,如果您添加一个新区域,它也会起作用:

    MATCH (p:PROBLEM)
    WITH count(*) AS ct, p.REGION AS pregion, p.SLAB AS slab
    RETURN slab, collect({region: pregion,  count: ct}) as result;
    

    汤姆