Neo4j объединяет две метки, используя предложение IN - PullRequest
1 голос
/ 24 января 2020

У меня есть две метки: CreditCardTransaction и Customer, и я хочу вернуть транзакции по кредитной карте только для 5 клиентов. У меня есть определенная связь между Клиентом и CreditCardTransaction, которая называется MAKES. Вот запрос шифра, который я пробовал, но он не работал. Может кто-нибудь помочь с правильным запросом шифра? Я все еще учусь формировать мои запросы в шифре. Я также включил, как выглядит SQL.

Cypher Query (не работает):

MATCH (c:Customer)
WHERE c.CustomerName IN ['AFFORDABLE PRO TRANSPORT','NDAWIND TRANSPORT LLC','CARGO CHAMP, LLC','HORVAT LOGISTICS LLC','GTS','GENERAL TRANSPORT, LLC','JITC LOGISTICS LLC','AIR GROUND & OCEAN LOGISTICS INC.']<-[:Customer]-(:CreditCardTransaction)<-[:MAKES]-(:Customer)
RETURN c;

SQL Запрос:

Select * from Customer c
inner join CreditCardTransaction cc on c.CustomerID = cc.CustomerID
Where c.CustomerName in ('Company ABC','XYZ Inc.')

1 Ответ

0 голосов
/ 24 января 2020

Вы очень близки к успеху. В вашем предложении WHERE содержится более пяти клиентов.

Это вернет клиента и транзакции по кредитным картам для всех клиентов в вашем предложении WHERE.

MATCH (c:Customer)-[:MAKES]->(cc:CreditCardTransaction)
WHERE c.CustomerName IN ['AFFORDABLE PRO TRANSPORT','NDAWIND TRANSPORT LLC','CARGO CHAMP, LLC','HORVAT LOGISTICS LLC','GTS','GENERAL TRANSPORT, LLC','JITC LOGISTICS LLC','AIR GROUND & OCEAN LOGISTICS INC.']
RETURN c, cc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...