Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.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 如果为空,则连接数据_Sql_Tsql - Fatal编程技术网

Sql 如果为空,则连接数据

Sql 如果为空,则连接数据,sql,tsql,Sql,Tsql,我希望ROW_Number()正常工作,除非“box”列为空。如果“box”为空,则行号不会增加 我有这样的数据 Row Box 1 5 2 3 3 1 4 Null 5 Null 6 2 7 8 8 Null 9 Null Row Box 1 5 2 3 3 1 3 Null 3 Null 4 2 5 8 5 Null 5 Null 我想让我的查询取出如下所示的数据 Row Box 1 5 2 3 3 1

我希望ROW_Number()正常工作,除非“box”列为空。如果“box”为空,则行号不会增加

我有这样的数据

Row Box
1   5
2   3
3   1
4   Null
5   Null
6   2
7   8
8   Null
9   Null
Row Box
1   5
2   3
3   1
3   Null
3   Null
4   2
5   8
5   Null
5   Null
我想让我的查询取出如下所示的数据

Row Box
1   5
2   3
3   1
4   Null
5   Null
6   2
7   8
8   Null
9   Null
Row Box
1   5
2   3
3   1
3   Null
3   Null
4   2
5   8
5   Null
5   Null

我试图避免使用游标,但我不知道如果没有游标如何工作。

您可以使用相关子查询来实现这一点。这里有一个方法:

select (select count(box) from t t2 where t2.row <= t.row) as row,
       box
from t
order by row;

这些假设是将
设置为问题所述。如果
不是以这些值开头,则您有问题。SQL表本质上是无序的,您需要一些列来指定顺序。

行是实际的列名吗?