我试图实现两个顺序对(MATCH,SET)如下代码,请注意,下面的例子可以替换为一个(MATCH,SET)对,因为这个例子只是为了演示目的,但在我的情况下,两个顺序对是必须的:
SELECT * FROM cypher('test', $$
MATCH (a: person {name:'yousef'}) SET a.name = 'yousef222' RETURN n.name MATCH(b:person {name: 'mostafa'}) SET b.name = 'mostafa222' RETURN a.name ,b.name
$$) as (a_name agtype, b_name agtype);
当我运行查询时,我得到以下错误:
ERROR: syntax error at or near "MATCH"
LINE 2: ...name:'hla'}) SET n.name = 'hlaaaa' RETURN n.name MATCH(b:pe...
^
如何在维护两个顺序对的同时解决问题?
3条答案
按热度按时间zvms9eto1#
你需要像这样使用
WITH...AS
子句:ttisahbt2#
您遇到的synatax错误是因为您使用了
n.name
,而n
未在查询中定义,但您可以通过修改查询来实现两个顺序对(MATCH/SET),如下所示:希望这能帮上忙。
watbbzwu3#
这里的问题是你试图在一个单独的对中使用MATCH-SET对的查询。你只能有一个MATCH子句来返回一个结果,因此将你的查询分割成两个单独的密码。
类似写另一个这样