我有一个查询,它假定要加入两个结果并给出联合作为输出。
MATCH (:Some )-[r*0..1]-> (p:Address) WITH collect(p) AS rows1
MATCH (:Some2)-[r*0..1]-> (pp:Address)
WITH rows1+collect(pp) AS rows2
UNWIND rows2 AS row RETURN row
如您所见,选择包含两个部分。因此,如果两个查询都有匹配的数据,则工作正常,但如果匹配的第二部分不返回任何内容,则返回空值。含义MATCH (:Some2)-[r*0..1]-> (pp:Address)
返回空,则整个联合失败,即使MATCH (:Some )-[r*0..1]-> (p:Address)
返回值也返回null 。
如何解决这个问题?它是neo4j中的错误吗?
感谢您的输入,我使用了以下版本
MATCH (p:Address)
WHERE exist ((:Some )-[r*0..1]-> (p)) OR ((:Some2 )-[r*0..1]-> (p))
RETURN p;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句