2017-10-28 218 views
-3

我想在列中插入Somme_versee(列表Versement中的列)的SUM。 這是我的代碼的一部分:濫用聚合函數SUM()

statement.executeUpdate("INSERT INTO Versement (Nom , Prenom, Date , Somme_versee,Prix_du_logement, Nom_du_projet) VALUES('" + nom.getText() +"','" +prenom.getText() +"','" +date.getText() + "'," + verse.getText() + ", " + "(SELECT Prix_du_logement FROM Client WHERE Nom='"+ nom.getText() +"' AND Prenom='"+ prenom.getText() + "')," + " (SELECT Nom_du_projet FROM Client WHERE Nom='" + nom.getText()+ "' AND Prenom='" +prenom.getText() + "'))"); 
statement.executeUpdate("UPDATE Versement SET Versement_total= SUM(Somme_versee) "); 

在執行我得到這個錯誤:misuse of aggregate function SUM()

+0

設計看起來不正確。一列持有X和另一持有金額(X)的列如何處於同一水平?總和產生一個單一的值。 – Vasan

+0

我該怎麼辦? –

+0

我的目標是太添加新的Somme_versee(金額支付),然後計算所有Somme_versee(金額支付)的總和。 –

回答

0

在同一個表你不應該這樣做。當表格獲得更多記錄時,情況會變得更糟。但你似乎想要的是:

UPDATE Versement SET Versement_total = (SELECT SUM(Somme_versee) FROM Versement)