两个相同结构的表查询,需要有个序号.where条件也有序号,该如何写这个查询语句
两个相同结构的表查询,需要有个序号.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 中使用。
如 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 中使用。