滥用聚合函数SUM()
问题描述:
我想在列中插入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()
答
在同一个表你不应该这样做。当表格获得更多记录时,情况会变得更糟。但你似乎想要的是:
UPDATE Versement SET Versement_total = (SELECT SUM(Somme_versee) FROM Versement)
设计看起来不正确。一列持有X和另一持有金额(X)的列如何处于同一水平?总和产生一个单一的值。 – Vasan
我该怎么办? –
我的目标是太添加新的Somme_versee(金额支付),然后计算所有Somme_versee(金额支付)的总和。 –