请高手前辈指点一句sql语句解决方法

请高手前辈指点一句sql语句
表B的A_id=表A的id,如何用一句sql输出最后这样的表格?分不多,但请高手多多指教
表A 
id 时间  总价
 1 2011-05-31 13:00:45 100.38
 2 2011-06-08 14:48:18 208.69
 3 2012-04-02 12:55:01                      98.99
 4 2012-04-02 13:04:09  50.00
 
表B
A_id 支付方式         金额
 1 支票 50.00
 1              现金 50.38
 2 支票        208.69
 3 现金 28.99 
 3 支票         30.00
 3         银行卡 40.00
 4 现金 50.00
 
 要求输出
 时间 支票 银行卡 现金 总计
 2011-05 50.00 0        50.38 100.38
 2011-06        208.69 0 0         208.69
 2012-04 30.00 40.00        78.99 148.99
------解决方案--------------------
SELECT A.时间,SUM(CASE WHEN B.支付方式='支票' THEN B.金额 ELSE 0 END),
SUM(CASE WHEN B.支付方式='银行卡' THEN B.金额 ELSE 0 END),
SUM(CASE WHEN B.支付方式='现金' THEN B.金额 ELSE 0 END),MAX(A.总价)
FROM A INNER JOIN B ON B.A_id=A.id
GROUP BY A.时间
------解决方案--------------------
select strftime('%Y-%m',时间),
sum(CASE 支付方式 WHEN '支票' THEN 金额 END) as 支票,
sum(CASE 支付方式 WHEN '银行卡' THEN 金额 END) as 银行卡,
sum(CASE 支付方式 WHEN '现金' THEN 金额 END) as 现金,
sum(金额) as 总计
from 表A,表B
where 表A.id=表B.id
group by strftime('%Y-%m',时间)