Sql 编号不受where子句影响的视图的行号

Sql 编号不受where子句影响的视图的行号,sql,sql-server,view,Sql,Sql Server,View,SQL Server 2008 我有一个有许多行的视图,在那里也可以多次获得精确的行。我已经尝试将ROW_NUMBER()作为ROW_id(按col1排序),但遇到了一个问题: 使用JOIN或WHERE子句时,将根据新结果集动态调整行ID。相反,我需要的是row_id来表示在视图中为该行给定的row_id值,而不需要任何JOIN或WHERE子句 有什么想法吗 编辑:我添加了一个示例,应该在发布之前完成 无WHERE条款: 选择(按col1排序)上的行编号()作为行id,结果。* 从 ( 选择“A

SQL Server 2008

我有一个有许多行的视图,在那里也可以多次获得精确的行。我已经尝试将ROW_NUMBER()作为ROW_id(按col1排序),但遇到了一个问题:

使用JOIN或WHERE子句时,将根据新结果集动态调整行ID。相反,我需要的是row_id来表示在视图中为该行给定的row_id值,而不需要任何JOIN或WHERE子句

有什么想法吗

编辑:我添加了一个示例,应该在发布之前完成

无WHERE条款:

选择(按col1排序)上的行编号()作为行id,结果。*


选择“Adam”col1,“West”col2
联合所有人
选择“Adam”col1、“Cole”col2
联合所有人
选择“Adam”col1,“West”col2
联合所有人
选择“Danny”col1,“West”col2

)结果

结果:

row_id  col1    col2
1       Adam    Cole
2       Adam    West
3       Adam    West
4       Danny   West
row_id  col1    col2
1       Adam    West
2       Adam    West
3       Danny   West
现在当我使用WHERE子句时

选择(按col1排序)上的行编号()作为行id,结果。*


选择“Adam”col1,“West”col2
联合所有人
选择“Adam”col1、“Cole”col2
联合所有人
选择“Adam”col1,“West”col2
联合所有人
选择“Danny”col1,“West”col2

)结果
col2='West'在哪里

结果:

row_id  col1    col2
1       Adam    Cole
2       Adam    West
3       Adam    West
4       Danny   West
row_id  col1    col2
1       Adam    West
2       Adam    West
3       Danny   West
预期结果:

row_id  col1    col2
2       Adam    West
3       Adam    West
4       Danny   West

您可以在子查询中生成行号。这些不受外部查询中的
join
where
子句的影响:

select  *
from    (
        select  row_number() over order by col1) as rn
        ,       *
        from    YourTable
        ) as YourTableWithRowNumber
join    OtherTable
on      YourTableWithRowNumber.id = OtherTable.YourTableId
where   YourTableWithRowNumber.col1 not like '%excludeme%'

您可以在子查询中生成行号。这些不受外部查询中的
join
where
子句的影响:

select  *
from    (
        select  row_number() over order by col1) as rn
        ,       *
        from    YourTable
        ) as YourTableWithRowNumber
join    OtherTable
on      YourTableWithRowNumber.id = OtherTable.YourTableId
where   YourTableWithRowNumber.col1 not like '%excludeme%'

请发布您的表格结构、一些示例数据和期望的结果。请发布您的表格结构、一些示例数据和期望的结果。这真的可能是它-我将尝试一下,谢谢!这真的可能是它-我会尝试一下,谢谢!