小编Moh*_*awi的帖子

TSQL while循环

UPDATE Houses 
SET    lStatus = U.codesum
FROM   Houses H
JOIN   (SELECT ref, SUM(code) AS codesum
    FROM   Users
    GROUP  BY ref) AS U ON U.ref = H.ref
Run Code Online (Sandbox Code Playgroud)

以上代码获取每个房屋的所有用户(Houses表).为所有用户汇总代码列(Users表).最后更新house表的lstatus列中的结果.

我的问题是:我需要重写查询,而不是对代码列求和.相反,我想创建案例陈述.例如:

tempvar = 0    //local variable might be required

For each user {

If code == 1 then tempvar += 5

else if code == 2 then tempvar += 10

etc

tempvar = 0;
}
Run Code Online (Sandbox Code Playgroud)

一旦我们遍历每个房屋的所有用户,我们现在可以设置lStatus = tempvar.然后应该将tempvar重置为0以用于下一个房屋.

t-sql sql-server loops sum sql-update

2
推荐指数
1
解决办法
1132
查看次数

标签 统计

loops ×1

sql-server ×1

sql-update ×1

sum ×1

t-sql ×1