我正在使用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
创建变量并将值存储在该变量中。这样做不会创建任何表。
这里是代码,
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
希望这是您要寻找的...