Я пытаюсь вставить список в SQL. Я получаю список из двух значений столбца из запроса JOIN из TableName1 и TableName2. При подсчете ProductId, я вставляю ProductId и Quantity в таблицу3. Но вставка не работает, поскольку ProductId имеет значение NULL. Я получаю два значения для ProductId и Quantity из запроса Join, как показано ниже. Как вставить этот список в таблицу3?Вставить список значений в sql server 2008
СПИСОК
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
Как я прохожу ProductID и количество в цикле к Table3 для вставки.
Любая ошибка в моем коде во время цикла?
Wow. Простое решение. Изменена только эта строка. INNER JOIN [TableName5] E ON A. [ProductId] = E. [ProductId]. – kk1076