我想 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
希望这就是您要找的...
我正在使用 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
希望这就是您要找的...