我正在尝试在特定情况下分离删除。我有以下查询。
MATCH (childNode)-[r]-(parentNode)
CASE WHEN childNode.version = 1
THEN DETACH DELETE childNode, parentNode
ELSE DETACH DELETE childNode
RETURN childNode, parentNode
我一直收到以下错误:
Neo.ClientError.Statement.SyntaxError: Invalid input 'S': expected 'l/L' (line 7, column 3 (offset: 425))
"CASE cv.version"
^
我不明白为什么会发生此问题。据我所知,似乎没有无效的输入。我究竟做错了什么?
答案 0 :(得分:0)
CASE
只能在RETURN
或WITH
中使用,以将一个值转换为另一个值。您不能使用CASE
进行条件查询。
因此,根据您的情况,我建议您进行两个查询:
MATCH (childNode {version:1})-[r]-(parentNode)
DETACH DELETE childNode, parentNode;
MATCH (childNode)-[r]-(parentNode)
DETACH DELETE childNode;