Neo4j Cypher:如果参数为NULL,则返回ALL,否则返回特定项
下面是我正在使用的密码查询Neo4j Cypher:如果参数为NULL,则返回ALL,否则返回特定项,neo4j,cypher,Neo4j,Cypher,下面是我正在使用的密码查询 MATCH rel=(r:Report)-[:REPORT_CONTAINS_SCHEDULE]->(s:Schedule) WHERE r.name=$rep_name AND s.name=$sch_val RETURN rel $rep\u name、$sch\u val是参数 如果参数$schu_val为null或空,则应返回节点计划下的所有行,否则如果参数$schu_val包含值,则应仅返回所选的计划值 如何实现它?当schu val为null时,
MATCH rel=(r:Report)-[:REPORT_CONTAINS_SCHEDULE]->(s:Schedule)
WHERE r.name=$rep_name AND s.name=$sch_val
RETURN rel
$rep\u name、$sch\u val
是参数
如果参数$schu_val
为null或空,则应返回节点计划下的所有行,否则如果参数$schu_val
包含值,则应仅返回所选的计划
值
如何实现它?当schu val
为null
时,您可以在WHERE
中添加另一个条件,以仅匹配rep_name
MATCH rel=(r:Report)-[:REPORT_CONTAINS_SCHEDULE]->(s:Schedule)
WHERE (r.name=$rep_name AND $sch_val IS NULL) OR (r.name=$rep_name AND s.name=$sch_val)
RETURN rel
多谢。看起来是一个简单易行的解决方案——我没有想到:)如果它是一个列表,会发生什么?所以我有一个IN查询,如果列表为空,应该返回all吗?