2015-10-03 102 views
0

我正在試圖製作客戶可以購買書籍的書店數據庫。有Book,BookCategory,Customer,Invoice。我在發票和圖書之間使用關係INVOICEITEM。我在發票中增加了財產netTotal以存儲INVOICEITEM中與發票相關的賬面總值。我試圖獲得與發票有關的書籍的總價值。在另一個查詢中使用一個查詢值Neo4j CQL

MATCH (n:Invoice {id:'inv001'})-[:INVOICEITEM]->m RETURN SUM(m.price) 

我試圖通過使用此命令來更改發票的netTotal憑證。

MATCH (n:Invoice{ id: 'inv001' }) SET n.netTotal = ((n:Invoice {id:'inv001'})-[:INVOICEITEM]-> m RETURN SUM(m.price)) 

但它返回一個錯誤。我是neo4j的新手,謝謝。

回答

2

到發票節點上更新netTotal查詢應該是:

MATCH (n:Invoice {id: 'inv001'})-[:INVOICEITEM]->(m:Book) 
WITH n, SUM(m.price) AS netTotal 
SET n.netTotal = netTotal 

計算Book價格使用WITH聲明須帶到SET聲明價值的總和更新InvoicenetTotal財產n。請注意,您還需要在WITH語句中指定n以使查詢中也綁定該綁定變量。更多關於WITH的聲明here

+0

非常感謝。很有幫助。 –

相關問題