是mysql吗?b报表可以这样写:
SELECT bookid,
sum(if(month(saledate)='01',saleqty,0)) as '1月份',
sum(if(month(saledate)='02',saleqty,0)) as '2月份',
sum(if(month(saledate)='03',saleqty,0)) as '3月份',
sum(if(month(saledate)='04',saleqty,0)) as '4月份',
sum(if(month(saledate)='05',saleqty,0)) as '5月份',
sum(if(month(saledate)='06',saleqty,0)) as '6月份',
sum(if(month(saledate)='07',saleqty,0)) as '7月份',
sum(if(month(saledate)='08',saleqty,0)) as '8月份',
sum(if(month(saledate)='09',saleqty,0)) as '9月份',
sum(if(month(saledate)='10',saleqty,0)) as '10月份',
sum(if(month(saledate)='11',saleqty,0)) as '11月份',
sum(if(month(saledate)='12',saleqty,0)) as '12月份',
 from bookinfo group by bookid;

解决方案 »

  1.   

    上面多了一个逗号,改正如下:SELECT bookid,
    sum(if(month(saledate)='01',saleqty,0)) as '1月份',
    sum(if(month(saledate)='02',saleqty,0)) as '2月份',
    sum(if(month(saledate)='03',saleqty,0)) as '3月份',
    sum(if(month(saledate)='04',saleqty,0)) as '4月份',
    sum(if(month(saledate)='05',saleqty,0)) as '5月份',
    sum(if(month(saledate)='06',saleqty,0)) as '6月份',
    sum(if(month(saledate)='07',saleqty,0)) as '7月份',
    sum(if(month(saledate)='08',saleqty,0)) as '8月份',
    sum(if(month(saledate)='09',saleqty,0)) as '9月份',
    sum(if(month(saledate)='10',saleqty,0)) as '10月份',
    sum(if(month(saledate)='11',saleqty,0)) as '11月份',
    sum(if(month(saledate)='12',saleqty,0)) as '12月份'
     from bookinfo group by bookid;