Reputation: 109
I cant find the right query that make an addition from 2 tables 2 columns inserts and save the data to one of them
Here is my 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");
}
I need to find a sqlquery that make addition from table Order the column Order_Quantity with the table products the column Pro_Quantity. And make an update in table products the new value in column Pro_Quantity depending each time the identifier of the product any idea ? Ty
Table Orders
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
Table Products
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
I add this qquery but i think he need some changes
String qquery= " UPDATE Products SET Pro_Quantity= Pro_Quantity + '"+Order_Quantity.getText()+"' FROM Products INNER JOIN Orders ON Products.Pro_Id="+Orders.getText() ;
Upvotes: 0
Views: 80
Reputation: 109
i change the above code a bit so he update the last order only.
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");
Upvotes: 1
Reputation: 2002
some think like this How do I UPDATE from a SELECT in SQL Server?
UPDATE P
SET
P.Pro_Quantity= P.Pro_Quantity + O.Order_Quantity
FROM
Products as P
INNER JOIN Orders as O
ON P.Pro_Id= O.Pro_Id
Upvotes: 1