我想 select 来自 table 的数据,将其乘以不同的数字,然后将总数放入新的 table

I want to select data from a table, multiply it by different numbers, and put the total into a new table

我正在使用 SSMS,我有一个示例 table,我想将每个 'num' 值(1、2、3)乘以不同的数字,例如1*1、2*2、3*3,将答案(14)存入一个新的table。 我可以创建单独的 'unnamed' tables,我可以创建一个新的 table,只有一个输出,但不能同时输出。

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

创建一个变量并将值存储在该变量中。这样做你不会创建任何 table。

这是代码,

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

希望这就是您要找的...