字段:item_id ,tc_ti(金额),bill_date
要求计算在一定时期那的所有分公司的应收情况
要求的查询结果如下:
公司名称  0~15天 16~30 31~60 61~90 91~120 121~150 150天以外我怎么才能将这些分段信息组合在一起?
请问我要是用一个sql能写么?
在线等待

解决方案 »

  1.   

    select 
    item_id,
    (CASE when bill_date between dateadd(day,-15,getdate()) and getdate() THEN sum(tc_ti) ELSE 0 END) as '0-15',
    (CASE when bill_date between dateadd(day,-30,getdate()) and dateadd(day,-16,getdate()) THEN sum(tc_ti) ELSE 0 END) as '16-30',
    ...
    from table
    group by item_id
      

  2.   

    好象不成,还需要在group by 中加入bill_date,和要求不一样
      

  3.   

    很抱歉,是我的疏忽。
    select 
    item_id,
    sum(CASE when bill_date between dateadd(day,-15,getdate()) and getdate() THEN tc_ti ELSE 0 END) as '0-15',
    sum(CASE when bill_date between dateadd(day,-30,getdate()) and dateadd(day,-16,getdate()) THEN tc_ti ELSE 0 END) as '16-30',
    ...
    from table
    group by item_id
      

  4.   

    to windindance(风舞轻扬):
    你怎么和我想到一起去了? ^_^