我要对:select checktime,identycode,employeename from checkdata where 条件 union all select checktime,identycode,employeename from checkinout where 条件;这条语句查出来的结果分页,该怎么改这条sql语句;请只知道的能回复我,谢谢!

解决方案 »

  1.   

    select checktime,identycode,employeename from checkdata where 条件
     union all
     select checktime,identycode,employeename from checkinout where 条件
    这是基本查询语句,假定已保存在变量 $sql 中sqlserver 没有 limit 子句,分页要复杂些$sqls =<<< SQL
    SELECT * FROM 
    (
    SELECT A.*, ROWNUM RN 
    FROM ($sql) A 
    WHERE ROWNUM < $start+$pagesize
    )
    WHERE RN >= $start
    SQL;$sqls 即为待执行 SQL 指令
    其中:
    $sql 基本查询语句
    $start 起始的记录偏移
    $pagesize 每页记录数
    $start和$pagesize作用等价于 mysql 的 limit $start, $pagesize
      

  2.   

    这个和php本身没有关系,而是mysql语法和sqlserver的区别。
    http://www.cnblogs.com/fish-li/archive/2011/04/05/2006107.html
    看完就明白了~
      

  3.   

    分页的方法大同小异,搞清楚分页的原理即可
    参考http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2001/0510/729.html
      

  4.   

    mysql与mssql的语法有所不同,不过union all 的写法是一样的!至于分页,网络上有很多代码了,自己去搜索测试一下!