我无法在 Neo4j 中将以下代码更改为 if-else 条件

I'm not able to change the following code into if-else condition in Neo4j

我是 Neo4j 的新手,正在尝试将 ScoreFT[0] 与 ScoreFT[1] 进行比较,并获得 Neo4j.I 中更大的值已经尝试过一次,但还没有 worked.I不知道在最后的代码中使用 order by 和 Limit(Return 案例)。请帮助我。

Round,Date,Team1,FT,HT,Team2
1,(Fri) 11 Aug 2017 (32),Arsenal FC,4-3,2-2,Leicester City FC
1,(Sat) 12 Aug 2017 (32),Brighton & Hove Albion FC,0-2,0-0,Manchester City FC
1,(Sat) 12 Aug 2017 (32),Chelsea FC,2-3,0-3,Burnley FC
1,(Sat) 12 Aug 2017 (32),Crystal Palace FC,0-3,0-2,Huddersfield Town AFC
1,(Sat) 12 Aug 2017 (32),Everton FC,1-0,1-0,Stoke City FC
1,(Sat) 12 Aug 2017 (32),Southampton FC,0-0,0-0,Swansea City AFC
1,(Sat) 12 Aug 2017 (32),Watford FC,3-3,2-1,Liverpool FC
1,(Sat) 12 Aug 2017 (32),West Bromwich Albion FC,1-0,1-0,AFC Bournemouth
1,(Sun) 13 Aug 2017 (32),Manchester United FC,4-0,1-0,West Ham United FC
1,(Sun) 13 Aug 2017 (32),Newcastle United FC,0-2,0-0,Tottenham Hotspur FC

导入查询

尝试 if/else

CASE 仅适用于单个值,但您试图根据比较在此处使用多个值,更糟糕的是,您试图让单个 CASE 输出多个变量,这是行不通的.

最好先在复合结构(2 元素列表或映射)中获取所需的值,然后使用两个 CASE 为每个变量获取正确的值。像这样,替换你的 RETURN:

...
WITH [t1.key, ScoreFT[0]] as t1Score, [t2.key, ScoreFT[1]] as t2Score, ScoreFT[0] > ScoreFT[1] as t1Won
RETURN CASE WHEN t1Won THEN t1Score ELSE t2Score END as s, 
       CASE WHEN t1Won THEN t2Score ELSE t1Score END as p

如果您想要地图,可以显式创建它而不是使用列表:

WITH t1 {.key, score:ScoreFT[0]} as t1Score, t2 {.key, score:ScoreFT[1]} as t2Score, ...