类似:
select a.balance ,b.balance from (select cocode,sum(balance)balance group by cocode )a ,(select cocode,sum(balance)balance group by cocode where datediff(day,getdate(),invoicedate)>30)b where a.cocode= b.cocode
select a.balance ,b.balance from (select cocode,sum(balance)balance group by cocode )a ,(select cocode,sum(balance)balance group by cocode where datediff(day,getdate(),invoicedate)>30)b where a.cocode= b.cocode
下面是有这一列的写法
select cocode,sum(balance) as balance,
sum(case when datediff(d,invoicedate,getdate())<30 then balance else 0 end ) as bal1,
sum(case when datediff(d,invoicedate,getdate()) between 30 and 59 then balance else 0 end ) as bal2,
sum(case when datediff(d,invoicedate,getdate()) between 60 and 89 then balance else 0 end ) as bal3,
sum(case when datediff(d,invoicedate,getdate())>=90 then balance else 0 end ) as bal4
from t_invoice
group by cocode没有测试过。你先试试。