日期:2014-05-17  浏览次数:20581 次

请问,如何把两张表当做一张表进行分页查询?
有两张表a和表b,有相同的两个字段time和title,其余字段不相同.现在需将这两张表当做一张表分页(若表a和表b各有50条记录,则须对查出100条的记录分页),并且可按time字段排序,请教各位有没有什么思路?

------解决方案--------------------
如果你的列名可以对应起来,那先union一起,然后当作一个表来处理,记得UNION的时候,要根据分页的页数来选择。比如你例子上的话,可能需要:
select top 50 *
from a
union 
select top 50 *
from b

这样合并成一个新表然后再做分页。
------解决方案--------------------
你准备其余字段怎么处理?不显示其余字段?还是按什么规则合并?
一般,按合并规则合并后排序分页就可以,可以使用cte和row_number函数
------解决方案--------------------
还是用union all 好一点吧!比union 的效率高。
------解决方案--------------------
其余字段不处理,只处理两个相同字段的话 用union all