2017-03-29 43 views
-1

私のデータベースにはF_tableとS_tableがあります。私のF_tableのQuantity_columnのすべての値の合計をS_tableのTotal_columnに挿入します。それを行うために私はJAVAで書く必要がありますか?Javaの別のテーブルのあるテーブルから別のテーブルの別のカラムへの1つのカラムの挿入

2つの表がProduct_tableであり、もう1つがStock_tableであるとします。Product_tableにID、名前、数量などの列があります。 Stock_tableには、ID、TotalProductなどの列があります。今度はProduct_tableのQuantity ColumnのすべてのRawの合計を求め、Stock_tableのTotalProduct Columnに挿入します。製品とその数量を追加するたびに、TotalProductが自動的に増加します。私はJAVAで何をしなければならないのか?

申し訳ありません、初心者タイプの質問です。私は実際に初心者です。もし誰かが私を助けてくれれば素晴らしいだろう。

+0

したがって、 'F_table'のすべての行の' Quantity_column'の合計を取り出し、 'Total_column'の列を使って' S_table'に新しいレコードを挿入しますか? 'S_table'に他の列がありますか? – fqhv

+0

Javaではクエリを記述しません。 SQLでクエリを記述し、JDBCを使用してクエリを実行します。または、オブジェクト・リレーショナル・マッパーを使用します。しかし、あなたが初心者の方であれば、まずJDBCについてもっと学ぶ方がよいと思います。 –

+0

@fqhv質問を編集しました。あなたはそれを親切にチェックしますか? – Tabassum

答えて

1

私が正しく理解していれば、商品テーブルから各IDの合計数量を取得し、それらを在庫表に挿入したいと思いますか?

以下のあなたにIDでグループ化された量の合計を取得します:

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

あなたが持っているのであれば:

1, 15 
2, 21 
3, 5 

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

をあなたのようなものになるだろう

次に、これらを正しい表に挿入してください。

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

これは完全にあなたが約求めているSQLの問題である点に注意してください:2あなたはのような何かを行うことができるはず組み合わせるために

。しかし、それに関連するJDBC/javaの作るために、このような何かのためのJDBCは、次のようになります。

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(); 

あなたはおそらく、()stmt.executeUpdateによって挿入された更新された行/の数を確認したいと思います。

関連する問題