0
我試圖在SQL中插入一個列表。我從TableName1和TableName2的JOIN查詢中得到兩個列值的列表。通過ProductId的計數,我將ProductId和Quantity插入到Table3中。 但插入失敗,因爲ProductId爲空。我從Join查詢中獲取ProductId和Quantity的兩個值,如下所示。如何將此列表插入到Table3中?在sql server 2008中插入值列表
LIST
ProductId Quantity
56 1
58 2
SQL:
DECLARE @productid int
DECLARE @quantity int
SET @productid = SELECT A.[ProductId],
A.[Quantity] FROM [TableName1] A
INNER JOIN [TableName2] B
ON A.[OrderId] = B.[OrderId] WHERE B.[CustomerId] = 1 AND A.[OrderId] = 68
SET @quantity = SELECT
A.[Quantity] FROM [TableName1] A
INNER JOIN [TableName2] B
ON A.[OrderId] = B.[OrderId] WHERE B.[CustomerId] = 1 AND A.[OrderId] = 68
DECLARE @i int = 0
DECLARE @pcount int = (SELECT COUNT(ProductId) FROM [TableName1] A
INNER JOIN [TableName2] B
ON A.[OrderId] = B.[OrderId] WHERE B.[CustomerId] = 1 AND
A.[OrderId] = 68)
WHILE @i <= @pcount
BEGIN
SET @i = @i + 1
DECLARE @productname nvarchar(MAX)
SET @productname = (SELECT [ProductName] FROM [TableName4] WHERE [ProductId]= @productid)
DECLARE @PRate decimal
SET @PRate =(SELECT [SpecialPrice] FROM [TableName5]
WHERE [ProductId][email protected])
DECLARE @SPrice decimal
SET @SPrice = @PRate * @quantity
INSERT INTO [Table3]
[ProductId],[ProductName],[Quantity],[Price],[TotalAmount])
VALUES
(@productid,@productname,@quantity,@PRate,@SPrice)
END
如何我通過產品ID和數量環至表3的插入。
我的代碼在循環時出現任何錯誤?
哇。解決方案簡單隻更改了這一行。 INNER JOIN [TableName5] E ON A. [ProductId] = E. [ProductId]。 – kk1076