Neo4j Cypher:UNION 2查询具有不同的列
我尝试组合两种类型的查询,并使用COLLECT返回一个结果集以创建匹配的列名,但它仍然给我“联合中的所有子查询必须具有相同的列名”错误。有没有办法做到这一点:Neo4j Cypher:UNION 2查询具有不同的列,neo4j,cypher,Neo4j,Cypher,我尝试组合两种类型的查询,并使用COLLECT返回一个结果集以创建匹配的列名,但它仍然给我“联合中的所有子查询必须具有相同的列名”错误。有没有办法做到这一点: MATCH(i:Person{username:"wkolcz"}) MATCH(p:Person)-[]->(m:Meetup{status:"Accepted"})<-[]-(i), (m)-[:MEETUP_AT]->(l:Location) WHERE toInt(m.meet_date) >= 14463
MATCH(i:Person{username:"wkolcz"})
MATCH(p:Person)-[]->(m:Meetup{status:"Accepted"})<-[]-(i),
(m)-[:MEETUP_AT]->(l:Location)
WHERE toInt(m.meet_date) >= 1446302204
RETURN COLLECT({name:p.first_name + " " + p.last_name,image_name: p.image_name, username:p.username,meeting_id:id(m) , meet_date:m.meet_date,
location_name:l.location_name, address:l.address, city:l.city, state:l.state, zip_code:l.zip_code,type:"person"})
UNION ALL
MATCH(g:Group)-[:CREATED]->(gm:Meetup{status:"Active"})<-[:ATTENDING]-(i),
(gm)-[:MEETUP_AT]->(gl:Location)
WHERE toInt(gm.meet_date) >= 1446302204
RETURN COLLECT({name:g.group_name,image_name: g.image_name, username:g.group_slug,meeting_id:id(gm) , meet_date:gm.meet_date,
location_name:gl.location_name, address:gl.address, city:gl.city, state:gl.state, zip_code:gl.zip_code,type:"group"})
MATCH(i:Person{username:“wkolcz”})
匹配(p:Person)-[]->(m:Meetup{状态:“已接受”})(l:Location)
其中toInt(m.meet_date)>=1446302204
返回COLLECT({name:p.first\u name+“”+p.last\u name,image\u name:p.image\u name,username:p.username,meeting\u id:id(m),meeting\u date:m.meeting\u date,
地点名称:l.地点名称,地址:l.地址,城市:l.城市,州:l.州,邮政编码:l.邮政编码,键入:“个人”})
联合所有
匹配(g:Group)-[:创建]->(gm:Meetup{status:“Active”})(gl:Location)
其中toInt(gm.meet_date)>=144630204
返回COLLECT({name:g.group\u name,image\u name:g.image\u name,username:g.group\u slug,meeting\u id:id(gm),meeting\u date:gm.meeting\u date,
地点\名称:gl.location\名称,地址:gl.address,城市:gl.city,州:gl.state,邮政编码:gl.zip\ U编码,类型:“组”})
将列名别名为相同的名称
RETURN COLLECT(...) AS data
UNION ALL
RETURN COLLECT(...) AS data