0

Neo4J DB (Northwind DB) に次のノードがあります。

  • Customer
  • Order
  • Product

ノードには次の関係があります。
(c:Customer)-->(o:Order)--> (p:Product)

=2の も購入したがProducts購入した と、その商品の数を取得するにはどうすればよいですか?CustomersProductpr_ID

次のクエリを試しました。正しいアイテムが返されますが、間違った数がカウントされます。

MATCH (p:Product)<--(o:Order)<--(c:Customer) 
WITH p,o,c WHERE p.productID='2' 
MATCH c-->(od:Order)-->(pr:Product) 
WITH c,od,pr WHERE NOT pr.productID='2' 
RETURN pr.productName, count(pr.productName)
4

2 に答える 2

0

WITH で渡す前に製品 ID をフィルタリングする必要があります。

MATCH (c:Customer)-->(o:Order)-->(p:Product {productId: '2'})
MATCH (c)-->(:Order)-->(p2:Product)
WHERE p2 <> p
RETURN p2.productName, count(*) as c
于 2015-10-25T16:37:24.320 に答える
0

クエリが機能しなかった理由は、count(pr.productName)代わりにcount(DISTINCT od).

于 2015-10-25T16:40:53.173 に答える