将一列的SUM从一个表插入到JAVA中另一个表的另一列

时间:2017-03-29 18:10:12

标签: java jdbc sqlitemanager

我的数据库中有F_table和S_table。我想将我的F_table的Quantity_column的所有值的总和插入到S_table的Total_column中。为了做到这一点,我必须用JAVA写一下?

假设我有两个表一个是Product_table而另一个是Stock_table。在Product_table中有列,如ID,Name,Quantity。在Stock_table中有ID,TotalProduct等列。现在我想要Product_table的所有原始数量列的总和,并将其插入Stock_table的TotalProduct列。每次添加任何产品及其数量时,TotalProduct都会自动增加。为了得到我在JAVA中必须做的事情?

很抱歉,如果是新手型问题。我其实是初学者。如果有人帮助我会很棒。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您想从产品表中获取每个ID的总数量,并将其插入到库存表中,是吗?

以下内容将为您提供数量的总和,按ID分组:

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

所以如果你有:

1, test1, 5
1, test2, 10
2, test3, 20
2, test4, 1
3, test5, 5
你会得到类似的东西:

1, 15
2, 21
3, 5

然后将这些插入到正确的表格中。

要结合这两者,您应该可以执行以下操作:

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

请记住,这完全是您要问的SQL问题。但是为了使它与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()更新/插入的行数。