eve_bal ,today_ba???
不知道你要怎么 整合为一句?
运行速度慢就看你写的SQL是否可以优化,不知道你的表结构哦。

解决方案 »

  1.   

    SELECT MAX(v.NAME) AS NAME,
    a.vou_id AS vou_id,
    MAX(a.branch_id) AS branch_id,
    SUM(a.today_recv) AS today_recv,
    SUM(a.today_send) AS today_send,
    (SELECT e.eve_bal 
    FROM his_vou_balance e
    WHERE e.branch_id ='489900' 
    AND e.vou_id ='00k1' 
    AND e.dt = (SELECT MIN(b.dt) 
    FROM his_vou_balance b
    WHERE b.branch_id ='489900' 
    AND b.vou_id = a.vou_id
    AND b.dt >= '2006-01-02')) AS eve_bal,
    (SELECT f.today_bal 
    FROM his_vou_balance f
    WHERE f.branch_id ='489900' 
    AND f.vou_id ='00k1' 
    AND f.dt = (SELECT MAX(c.dt) 
    FROM his_vou_balance c
    WHERE c.branch_id ='489900' 
    AND c.vou_id = a.vou_id
    AND c.dt <= '2006-01-18')) AS today_bal
    FROM voucher v, his_vou_balance a 
    WHERE v.id = a.vou_id 
    AND a.branch_id = '489900' 
    AND a.dt >= '2006-01-02' 
    AND a.dt <= '2006-01-18' 
    GROUP BY a.vou_id 
    ORDER BY a.vou_id