我有一个特定的问题,要创建一个有条件的创建语句。我不能在这里使用 MERGE
,因为 MATCH
和 CREATE
语句是不同的。以下是查询语句..
....
WITH m
OPTIONAL MATCH (x)-[r1:FeedNext{user_id:USER_ID}]->(m)-[r2:FeedNext{user_id:USER_ID}]->(y)
WHERE x IS NOT NULL AND y IS NOT NULL
WITH x, y, m, r1, r2
CREATE (x)-[:FeedNext{user_id:USER_ID}]->(y)
DELETE r1, r2
RETURN m
当x
和y
都为null
时,返回0行。
在同样的情况下运行时,m
不会返回null
。
....
WITH m
OPTIONAL MATCH (x)-[r1:FeedNext{user_id:USER_ID}]->(m)-[r2:FeedNext{user_id:USER_ID}]->(y)
RETURN m
在所有情况下返回m
的值,有什么解决方法?
m
是这个查询中来自前一个查询的输入,我忘了提到(对此很抱歉)。我会在问题中更新这个信息。 - red-devil