2017-03-29 13 views
-1

Ich habe F_table und S_table in meiner Datenbank.Ich möchte die Summe aller Werte der Quantity_column meiner F_table in Total_column der S_table einfügen . Um das zu tun, was ich in JAVA schreiben muss?SUMME einer Spalte von einer Tabelle in eine andere Spalte einer anderen Tabelle in JAVA einfügen

Angenommen, ich habe zwei Tabelle eins ist Product_table und eine andere ist Stock_table.In der Product_table gibt es Spalten wie ID, Name, Menge. Und in der Stock_table gibt es Spalten wie ID, TotalProduct. Jetzt möchte ich die Summe aller rohen Mengen von Product_table und fügen sie in die TotalProduct Spalte von Stock_table ein. Jedes Mal, wenn ich ein Produkt und seine Menge hinzufüge, wird das TotalProduct automatisch erhöht. Um das zu bekommen, was ich in JAVA machen muss?

Es tut uns leid, wenn es eine Frage des Newbie-Typs ist. Ich bin eigentlich ein Anfänger. Es wird großartig sein, wenn mir jemand hilft.

+0

Sie wollen also die Summe von 'Quantity_column' aller Zeilen in' F_table' nehmen und einen neuen Datensatz in 'S_table' mit einer Spalte' Total_column' einfügen? Gibt es noch andere Spalten in 'S_table'? – fqhv

+0

Sie schreiben keine Abfrage in Java. Sie schreiben eine Abfrage in SQL und führen sie dann mit JDBC aus. Oder Sie verwenden einen objektrelationalen Mapper. Aber wenn Sie ein Neuling sind, denke ich, dass Sie zuerst besser über JDBC lernen sollten. –

+0

@fqhv Ich habe die Frage bearbeitet. wirst du das bitte überprüfen? – Tabassum

Antwort

1

Wenn ich richtig verstehe, möchten Sie die Gesamtmenge für jede ID aus der Produkttabelle abrufen und diese in die Bestandstabelle einfügen, ja?

Die unten finden Sie die Summe der Menge erhalten, durch die ID gruppiert:

select id, sum(quantity) from product_table group by id; 

Also, wenn Sie haben:

1, test1, 5 
1, test2, 10 
2, test3, 20 
2, test4, 1 
3, test5, 5 

Sie erhalten würden so etwas wie:

1, 15 
2, 21 
3, 5 

Dann fügen Sie diese einfach in die richtige Tabelle ein.

So kombinieren die beiden sollten Sie so etwas wie der Lage zu tun: Das ist ganz ein SQL-Problem

insert into stock_table 
select id, sum(quantity) from product_table group by id; 

Beachten Sie, dass Sie im Begriff sind zu fragen. Aber, um es jdbc/java Zusammenhang würde die jdbc für so etwas wie dieses:

String sql = "insert into stock_table select id, sum(quantity) from product_table group by id"; 
PreparedStatement stmt = connection.prepareStatement(sql); 
stmt.executeUpdate(); 

stmt.close(); 

Sie würden wahrscheinlich durch stmt.executeUpdate die Anzahl der Zeilen aktualisiert/eingefügt überprüfen möchten().

Verwandte Themen