列表页主从明细显示问题共2条记录  2条记录 / 页 凭证号码           金额
voucher001         debit:100
voucher001         credit:100表 voucher   ,  voucherDetailsql: 
select * from voucher v left join (select voucherID from voucher_detail ) va on v.id=va.voucherID limit 0,2 //列表显示
select count(*) from voucher  //总行数统计表数据:
voucher表
id    voucherNo
1     voucher001        
2     voucher002         voucherDetailvoucherID   amount
1           debit:100
1           credit:100
2           debit:100
2           credit:80
2           credit:20
我要的结果是 当 共2条记录  2条记录 / 页 时  ,记录条数是显示voucher主表的数 ,而不是显示关联后明细的条数 
即应该显示为 :
voucher001         debit:100
voucher001         credit:100
voucher002         debit:100
voucher002         credit:80
voucher002         credit:20

解决方案 »

  1.   

    select * from 
    (select * from 
    voucher,(select count(*) as gs from voucher) v1) v left join voucher_detail va on v.id=va.voucherID limit 0,2
      

  2.   

    这样试试
    select * from (
    select * from  voucher v left join voucher_detail va on v.id=va.voucherID ) a,
    (select count(*) as gs from voucher) v1 limit 0,2
    在ID、voucherID上建立索引
      

  3.   


    如果这样,直接[code=SQ]select a.voucherNo,b.amount
    from voucher a,voucherDetail b
    where a.id=b.voucherID[/code]在voucher表上创建id的索引。