我有一个药品和制造商数据库,我想找到所有生产多种药品的制造商。我如何才能只获得制造商及其生产的药物?
我当前正在使用
match (a:Brand), (c:Manufacturer) where size((c)-[:PRODUCED]->()) >1 return a,c;
返回制造商生产的一种以上药物但也包括所有药物的制造商,与制造商无关
答案 0 :(得分:1)
此查询使用aggregating function,COLLECT
返回每个制造多个品牌的制造商的记录以及这些品牌的集合:
MATCH (m:Manufacturer)-[:PRODUCED]->(b:Brand)
WITH m, COLLECT(b) AS brands
WHERE SIZE(brands) > 1
RETURN m, brands;
答案 1 :(得分:0)
听起来像您只需要选择制造商,就像这样:
MATCH (c:Manufacturer) WHERE size((c)-[:PRODUCED]->()) > 1 RETURN c;