一 客户(kh) 表,
列:id,姓名
1,张三
2,李四
3,王五
二, 进场(jc) 表,
列:客户id, 进场时间,           离场时间 ,    状态(进场,离场)
      2,2012-07-14 10:10:00,2012-07-14 12:10:00,  离场
      1,2012-07-14 04:10:00,2012-07-14 10:10:00,  离场
      3,2012-07-14 15:10:00,2012-07-14 21:10:00,  离场
三, 交易 (jy)  表,
列:id,客户id,    交易时间,     交易数量,交易金额
    1,  1, 2012-07-14 10:30:00,    10,    100
    2,  1,  2012-07-14 10:10:00,    15,     50
    3,  2,  2012-07-14 10:10:00,    20,     20
    4,  1,  2012-07-14 10:10:00,    15,     40
    5,  2,  2012-07-14 10:10:00,    41,     48
进场时间如2012-07-14 08:00:00 离场时间如:2012-07-14 20:00:00
进场以后可以交易,交易次数不限,每次都有交易时间,数量,金额记录,离场后状态标记离场
客户表存放客户id,姓名。
需要统计一个时间段内,这个时间段进场的以下信息:客户姓名,进场时间,        离场时间,        交易总量,交易总额,状态
张三,2012-07-14 10:10:00, 2012-07-14 12:10:00, 40,   190,    离场
李四,2012-07-14 04:10:00, 2012-07-14 10:10:00, 61,   68,     离场

解决方案 »

  1.   

    select 客户id, 进场时间, 离场时间 , 状态,
    (select sum(交易总量),sum(交易总额) 
    from  
    交易 (jy) 表  where 交易表.客户id=客户表.客户id and 交易表 between  进场时间 and 离场时间 )
    from 客户表 
      

  2.   


    --try
    select 姓名,进场时间,离场时间,交易总量,sum(交易数量*交易金额) as交易总额,状态
    from kh join jc on kh.id=jc.客户id
    left join  jy on kh.id=jy.客户id and jy.交易时间 between jc.进场时间 and jc.离场时间
    group by 姓名,进场时间,离场时间,交易总量,状态