Java 如何从两个表中进行加法并将值插入其中一个表

Java 如何从两个表中进行加法并将值插入其中一个表,java,sql-server,Java,Sql Server,我找不到正确的查询,它可以从2个表2个列插入进行添加,并将数据保存到其中一个表中 这是我的makeorderaction private void Make_OrderActionPerformed(java.awt.event.ActionEvent evt) { String query="INSERT INTO Orders(Pro_Id ,Pro_Name,Order_Quantity,Or

我找不到正确的查询,它可以从2个表2个列插入进行添加,并将数据保存到其中一个表中

这是我的makeorderaction

 private void Make_OrderActionPerformed(java.awt.event.ActionEvent evt) {                                           
     String query="INSERT INTO Orders(Pro_Id ,Pro_Name,Order_Quantity,Order_Date)VALUES ('"+Pro_Id.getText()+" ','"+Pro_Name.getText()+" ','"+Order_Quantity.getText()+" ','"+Order_Date.getText()+" ') ";
    executeSQLQuery(query,"Inserted");
    String qquery ="UPDATE Products SET Pro_Quantity where Prod_Id = Pro_Quantity+Order_Quantity ";
    // executeSQLQuery(query,"quantity updated");
    } 
我需要找到一个sqlquery,它将表Order中的列Order\u数量与表products中的列Pro\u数量相加。并在表products中更新Pro_Quantity列中的新值,这取决于每次产品的标识符是否有任何想法?泰

表顺序

CREATE TABLE [dbo].[Orders](
    [Order_Id] [int] IDENTITY(1,1) NOT NULL,
    [Order_Date] [int] NULL,
    [Order_Quantity] [int] NULL,
    [Pro_Id] [int] NULL,
    [Pro_Name] [varchar](50) NULL,
 CONSTRAINT [PK__Orders__F1E4607B714E3A74] PRIMARY KEY CLUSTERED 
(
    [Order_Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ALTER TABLE [dbo].[Orders]  WITH CHECK ADD  CONSTRAINT [FK_Orders_Products] FOREIGN KEY([Pro_Id])
REFERENCES [dbo].[Products] ([Pro_Id])
GO

ALTER TABLE [dbo].[Orders] CHECK CONSTRAINT [FK_Orders_Products]
GO
餐桌用品

CREATE TABLE [dbo].[Products](
    [Pro_Id] [int] NOT NULL,
    [Pro_Name] [varchar](50) NOT NULL,
    [Pro_Price] [float] NULL,
    [Pro_Quantity] [int] NULL,
    [Pro_Supplier_id] [int] NOT NULL,
    [Pro_Tax] [float] NOT NULL,
    [Cat_products] [varchar](50) NULL,
 CONSTRAINT [PK_Products] PRIMARY KEY CLUSTERED 
(
    [Pro_Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO
我添加了这个问题,但我认为他需要一些改变

  String qquery=  " UPDATE Products SET Pro_Quantity= Pro_Quantity + '"+Order_Quantity.getText()+"' FROM Products  INNER JOIN Orders ON   Products.Pro_Id="+Orders.getText() ; 
有些人是这样想的

有些人是这样想的


我稍微修改了上面的代码,所以他只更新了最后一个订单

String query= "  UPDATE Products SET Pro_Quantity= Products.Pro_Quantity + Orders.Order_Quantity FROM Products INNER JOIN Orders ON Products.Pro_Id= Orders.Pro_Id where Order_Id = (SELECT MAX(Order_Id) FROM Orders)" ; 
        executeSQLQuery(query,"updated");

我稍微修改了上面的代码,所以他只更新了最后一个订单

String query= "  UPDATE Products SET Pro_Quantity= Products.Pro_Quantity + Orders.Order_Quantity FROM Products INNER JOIN Orders ON Products.Pro_Id= Orders.Pro_Id where Order_Id = (SELECT MAX(Order_Id) FROM Orders)" ; 
        executeSQLQuery(query,"updated");

那么在我的问题中应该是这样的?String qquery=“更新产品集Pro_数量=产品。Pro_数量+订单。来自产品的订单内部连接产品上的订单。Pro_Id=订单。Pro_Id”;是的,请再试一次,我不确定没有别名是否可以工作。请在SQL clientok中尝试查询当我运行此查询时,我会收到一条消息(受影响的2行),但实际上没有任何变化。这取决于您的数据,可能您的数量为0,或者它需要提交。那么在我的查询中应该是这样的?String qquery=“更新产品集Pro_数量=产品。Pro_数量+订单。来自产品的订单内部连接产品上的订单。Pro_Id=订单。Pro_Id”;是的,请再试一次,我不确定没有别名是否可以工作。请在SQL clientok中尝试查询当我运行此查询时,我会收到一条消息(受影响的2行),但实际上没有任何更改。这取决于您的数据,可能您的订单数量为0,或者需要提交。