多表数据查询加分页

RXPY2007 2010-08-28 09:35:58
现有多张数据结构相同的表,用sql语句说明下我的要求吧:
1)select * from table1 where a='a1' UNION select * from table2 where b='b1' UNION...
就是想将数据合并到一张表里,数据结构不变,而且不同表查询条件也不一样
2)select top 10 from (select * from table1 where a='a1' UNION select * from table2 where b='b1' UNION...) AS table where id NOT IN
(
SELECT TOP 页大小*(页数-1) id FROM table ORDER BY id
)
ORDER BY id

就是想把1)中查出来的数据进行分页
...全文
367 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
黄_瓜 2010-08-28
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 rxpy2007 的回复:]
因为数据库
表是经常更新的,就是tb的名称也是经常更新的,作视图不方便
[/Quote]
数据更新否,和你的视图没关系,只要不是表结构经常更新就行
RXPY2007 2010-08-28
  • 打赏
  • 举报
回复
原来我写的还是对的,哈哈,谢谢楼上几位的解答
RXPY2007 2010-08-28
  • 打赏
  • 举报
回复
因为数据库表是经常更新的,就是tb的名称也是经常更新的,作视图不方便
百年树人 2010-08-28
  • 打赏
  • 举报
回复
try
select top 10 *
from
(select * from table1 where a= 'a1 '
UNION
select * from table2 where b= 'b1 '
UNION...
) AS t1
where id NOT IN
(
SELECT TOP 页大小*(页数-1) id
FROM
(select * from table1 where a= 'a1 '
UNION
select * from table2 where b= 'b1 '
UNION...
) AS t2
ORDER BY id
)
ORDER BY id
黄_瓜 2010-08-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 rxpy2007 的回复:]
引用 6 楼 josy 的回复:

引用 3 楼 rxpy2007 的回复:
其实就一个问题,就是如何把多表数据合到一张表里,然后将它 as table1


仅仅是这个问题,可以先把多个表的连接查询做成视图,再进行分页

这种需求用sql2005很容易实现,正如4楼所说,mysql中没有top,只有limit

视图这个我也知道,但是因为要连接查询的多表是变动的,不方便做成视……
[/Quote]我楼上写的你可以理解吧
黄_瓜 2010-08-28
  • 打赏
  • 举报
回复
你可以做一个视图

create view vv
select * from tb
union all
...........


--分页

select * from vv order by ... limit 从第多少条开始,条数
RXPY2007 2010-08-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 josy 的回复:]

引用 3 楼 rxpy2007 的回复:
其实就一个问题,就是如何把多表数据合到一张表里,然后将它 as table1


仅仅是这个问题,可以先把多个表的连接查询做成视图,再进行分页

这种需求用sql2005很容易实现,正如4楼所说,mysql中没有top,只有limit
[/Quote]
视图这个我也知道,但是因为要连接查询的多表是变动的,不方便做成视图...“mysql中没有top,只有limit”我知道,这个小问题,是为了便于sql server理解
百年树人 2010-08-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 rxpy2007 的回复:]
其实就一个问题,就是如何把多表数据合到一张表里,然后将它 as table1
[/Quote]

仅仅是这个问题,可以先把多个表的连接查询做成视图,再进行分页

这种需求用sql2005很容易实现,正如4楼所说,mysql中没有top,只有limit
RXPY2007 2010-08-28
  • 打赏
  • 举报
回复
...因为这里是sql server讨论区,所以我写top便于大家理解的....
黄_瓜 2010-08-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 rxpy2007 的回复:]
mysql
[/Quote]
mysql 没有 top 这玩意吧
使用 limit 分页
RXPY2007 2010-08-28
  • 打赏
  • 举报
回复
其实就一个问题,就是如何把多表数据合到一张表里,然后将它 as table1
RXPY2007 2010-08-28
  • 打赏
  • 举报
回复
mysql
百年树人 2010-08-28
  • 打赏
  • 举报
回复
数据库是什么版本的?

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧