Neo4j: вычитание между массивами со строковыми элементами - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть два следующих массива:

 x=[red,blue,green,yellow,black,white,pink,orange,brown]
 y=[blue,white,pink]

Как получить следующий вывод с использованием Cypher?

 z=[red,,green,yellow,black,,,orange,brown]

Мне нужен массив с таким же размером массив x и элементы в том же порядке, но когда есть общие элементы с массивом y, мне нужно иметь пустые элементы.

1 Ответ

2 голосов
/ 08 апреля 2020

Вы можете использовать понимание списка .

Например, этот запрос:

WITH
  ["red","blue","green","yellow","black","white","pink","orange","brown"] AS x,
  ["blue","white","pink"] AS y
RETURN [i IN x | CASE WHEN i IN y THEN "" ELSE i END] AS result

возвращает:

╒══════════════════════════════════════════════════════════╕
│"result"                                                  │
╞══════════════════════════════════════════════════════════╡
│["red","","green","yellow","black","","","orange","brown"]│
└──────────────────────────────────────────────────────────┘
...