Я хочу выбрать данные из таблицы, умножить их на разные числа и поместить сумму в новую таблицу - PullRequest
0 голосов
/ 10 февраля 2020

Я использую SSMS, у меня есть пример таблицы, и я хочу взять каждое значение 'num' (1, 2, 3), умножить его на другое число, например, 1 * 1, 2 * 2, 3 * 3, и сохраните ответ (14) в новой таблице. Я могу создать отдельные «неназванные» таблицы и создать новую таблицу только с одним выводом, но не с обоими.

DECLARE @myTableVariable TABLE (id INT, num int)
insert into @myTableVariable values(1,'1'),(2,'2'),(3,'3')

DECLARE @Multiplier INT
DECLARE @Counter INT

SET @Multiplier = 1
SET @Counter = 1

WHILE @Counter <=3

BEGIN

SELECT (num*@Multiplier) AS WMA FROM @myTableVariable WHERE ID = @Counter;

SET @Multiplier = @Multiplier + 1
SET @Counter = @Counter + 1

END

1 Ответ

0 голосов
/ 10 февраля 2020

Создайте переменную и сохраните значение в этой переменной. Делая это, вы не создаете никакой таблицы.

Вот код,

DECLARE @myTableVariable TABLE (id INT, num int)
insert into @myTableVariable values(1,'1'),(2,'2'),(3,'3')

DECLARE @Multiplier INT
DECLARE @Counter INT

SET @Multiplier = 1
SET @Counter = 1

DECLARE @total INT=0

WHILE @Counter <=3

BEGIN

--SELECT (num*@Multiplier) AS WMA FROM @myTableVariable WHERE ID = @Counter;

set @total = @total+(SELECT (num*@Multiplier) AS WMA FROM @myTableVariable WHERE ID = @Counter)

SET @Multiplier = @Multiplier + 1
SET @Counter = @Counter + 1

END

select @total

Надеюсь, это то, что вы ищете ...

...