我想从表中选择数据,将其乘以不同的数字,然后将总数放入新表中

问题描述 投票:0回答:1

我正在使用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
arrays while-loop ssms
1个回答
0
投票

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

这里是代码,

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

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

© www.soinside.com 2019 - 2024. All rights reserved.