小编Leg*_*nds的帖子

T-SQL - 循环遍历表直到满足条件的最有效方法是什么

T-SQL.

任务:

  1. 人们想进入电梯,每个人都有一定的体重。
  2. 排队等候的人的顺序由列轮次决定。
  3. 电梯的最大容量 <= 1000 磅。
  4. 在电梯变得太重之前,返回最后一个能够进入电梯的人的名字!
  5. 返回类型应该是表格

在此处输入图片说明

问题: 解决这个问题最有效的方法是什么?如果循环是正确的,还有改进的余地吗?

我使用了一个循环和 # 临时表,这里是我的解决方案:

set rowcount 0
-- THE SOURCE TABLE "LINE" HAS THE SAME SCHEMA AS #RESULT AND #TEMP
use Northwind
go

declare @sum int
declare @curr int
set @sum = 0
declare @id int

IF OBJECT_ID('tempdb..#temp','u') IS NOT NULL
    DROP TABLE #temp

IF OBJECT_ID('tempdb..#result','u') IS NOT NULL
    DROP TABLE #result

create table #result( 
    id int not null,
    [name] varchar(255) not null,
    weight int not null, …
Run Code Online (Sandbox Code Playgroud)

sql-server t-sql

10
推荐指数
2
解决办法
7万
查看次数

标签 统计

sql-server ×1

t-sql ×1