Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Server:如何在Sql Server中查找等同于在excel中查找_Sql_Sql Server 2008 - Fatal编程技术网

Sql Server:如何在Sql Server中查找等同于在excel中查找

Sql Server:如何在Sql Server中查找等同于在excel中查找,sql,sql-server-2008,Sql,Sql Server 2008,当@Line1的输出与dbo.Equipm中的Line_num相同时,例如29,则数量_num为4;但是如果@Line1的输出不相同 如上面第25行所示,那么我需要查找 第20、29、39行。因为第29行对于25行来说太大了,所以我需要 获取29以上的行数,即20以获取其数量3 我想在我的第二个案例陈述中,当它是25时,它不知道应该看哪一行,所以我没有得到3作为结果,但我不确定如何查找它并找到正确的行以获得数量。行的列表在现实生活中很长,所以我不想这样做 使用用例语句来查找每一行号。有更好的方法

当@Line1的输出与dbo.Equipm中的Line_num相同时,例如29,则数量_num为4;但是如果@Line1的输出不相同 如上面第25行所示,那么我需要查找 第20、29、39行。因为第29行对于25行来说太大了,所以我需要 获取29以上的行数,即20以获取其数量3

我想在我的第二个案例陈述中,当它是25时,它不知道应该看哪一行,所以我没有得到3作为结果,但我不确定如何查找它并找到正确的行以获得数量。行的列表在现实生活中很长,所以我不想这样做
使用用例语句来查找每一行号。有更好的方法吗?

听起来您想要的是一种方法来获取行号是小于或等于@Line1的最高值的行

因此,您可以执行以下操作,而不是案例陈述:

Line_num      Qty_num
20          3
29          4
39          5 
Line_num      Qty_num
20          3
29          4
39          5 
SELECT @Line2 = Line_num
  ,@Qty = Qty_num
FROM dbo.Equip
WHERE Line_num = (
    SELECT TOP 1 Line_num
    FROM dbo.Equip
    WHERE Line_num <= @Line1
    ORDER BY Line_num DESC
)