当前位置: 代码迷 >> Sql Server >> 两个相同结构的表查询,需要有个序号.where条件也有序号,该如何写这个查询语句
  详细解决方案

两个相同结构的表查询,需要有个序号.where条件也有序号,该如何写这个查询语句

热度:9   发布时间:2016-04-24 09:33:42.0
两个相同结构的表查询,需要有个序号.where条件也有序号,该怎么写这个查询语句
如 table1
id 自动编号   name  varchar(50)    lrdate  datetime
1             张三                    2013-09-02 09:12:07
2             张三1                   2013-10-03 10:14:07
4             张三2                   2013-11-05 15:12:07

如 table2
id 自动编号   name  varchar(50)    lrdate  datetime
3             里明                     2013-10-02 09:16:07
4             王明元                   2013-11-03 10:12:07
5             李开富                   2013-12-05 15:16:07

从这两个表里查询

查询全部数据。结果按时间排序,前面要有唯一一个序号,如:
1             张三                          2013-09-02 09:12:07
2             里明                          2013-10-02 09:16:07
3             张三1                                                 2013-10-03 10:14:07
4             王明元                        2013-11-03 10:12:07
5             张三2                                                 2013-11-05 15:12:07
6             李开富                        2013-12-05 15:16:07 

查询语句这么写 我想加上
select 
       ROW_NUMBER() over(order by lrdate) as RowNo,
       name,
       lrdate
from 
(
select * from table1 
union all
select * from table2
)t
WHERE     RowNo BETWEEN 50 AND 90order by id
/*
RowNo  name lrdate
1 张三  2013-09-02 09:12:07.000
2 里明 2013-10-02 09:16:07.000
3 张三1 2013-10-03 10:14:07.000
4 王明元 2013-11-03 10:12:07.000
5 张三2 2013-11-05 15:12:07.000
6 李开富 2013-12-05 15:16:07.000
*/


我想加上 "RowNo"  这个查询该怎么写这个sql 语句,谢谢了
------解决思路----------------------
再嵌套一层啊。
只有先求出 RowNo,才能在外层的 Where 中使用。
  相关解决方案