cypher查询


在1里面查询了有结果,2里面查询了直接是空的,啥都没有,经过了这一步查询 就没了结果MATCH (n)-[:APPLY_FOR]->(a:PROD_KD:APPR)-[:APPLY_ON]->(t2:TIME) 按理说with应该把上面的结果,带到下面了啊,为什么呢


你想返回的是 n_kd_appr_2nd_dr_v4 还是 n_kd_appl_2nd_dr_v4?如截图所示,你的返回参数没有对应的变量名。

我想返回的是n_kd_appr_2nd_dr_v4


match查询前面都有结果,经过了这个match,就没有结果了,按理说我前面的结果他也会with带到下一层啊

这一个mtach没结果 不可能前面查询的结果 都不能带到后面吧


嗯,我看到你的变量了,语句绿色不代表被执行了。作为验证,我觉得你可以先把 count 前面的那些字段都去掉(毕竟你不返回他们),只留一个 count 表达式和后面的 return 看看,看能不能出来结果。


我把count前面去掉了,就能够查出来是0了

所以你原始数据是 0 么——这个结果是正确的么?

我个人是觉得你 with 后面可能加了太多的字段,然后执行起来需要处理这些,可能执行超时了——执行不成功。我之前遇到过 studio 如果大量捞数据,直接就是一个绿色的执行成功标识,但是没有任何数据返回。(那时候我没创建索引去查数据)


只要加上前面任何一个变量,都会直接变成

如果是字段太多了,执行超时了,应该怎么办呢

你试试 col_appl_1st_dr_v4 后面加一个 as 看看。先排除下语法问题

with col_appl_1st_dr_v4 as v4, count(distinct…


我感觉不是语法问题,是不是因为我cypher太长了,我是一直在match with 这种十几层?

我刚才检查了下 索引也都创建了

能贴完整语句么?感觉这个只是一部分?所以一直不知道怎么回复。。。