2017-10-28 9 views
-3

私は列Versement_totalSomme_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を保持し、もう1つの保持合計(X)が同じレベルにありますか? Sumは単一の値を生成します。 – Vasan

+0

どうすればいいですか? –

+0

私の目標はあまりにも新しいSomme_versee(金額)を追加し、すべてのSomme_versee(支払額)の合計を計算します。 –

答えて

0

を。また、テーブルにレコードが増えると悪化します。しかし、あなたが望んでいるようです:

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