超市                   卖场                        总计
日期 客数 销售收入 客单价    客数 销售收入 客单价    客数 销售收入 客单价
一些有关数据提供给大家,多谢了。
查询超市的数据sql语句如下:splsyjid 是“收银机编号”
select spldate "日期",sum(splxsbs1) "客数",sum(splxssr ) "销售收入",round(sum(splxssr )/sum(splxsbs1),2) "平均客单价" from saleposlist where splsyjid between 9101 and 9130 and  trunc(spldate)=to_date‘20061205’,'yyyymmdd') group by spldate查询卖场的数据sql语句如下:
select spldate "日期",sum(splxsbs1) "客数",sum(splxssr ) "销售收入",round(sum(splxssr )/sum(splxsbs1),2) "平均客单价" from saleposlist where splsyjid between 8131 and 8152 and trunc(spldate)=to_date(‘20061205’,'yyyymmdd') group by spldate查询总计的数据sql语句如下:
select spldate "日期",sum(splxsbs1) "客数",sum(splxssr ) "销售收入",round(sum(splxssr )/sum(splxsbs1),2) "平均客单价" from saleposlist where  trunc(spldate)=to_date((‘20061205’,'yyyymmdd') group by spldate

解决方案 »

  1.   

    select spldate "日期", 
    sum(case when sqleposlist between 9101 and 9130 then splxsbs1 else 0 end) "超市客数",
    sum(case when sqleposlist between 9101 and 9130 then splxssr else 0 end) "超市销售收入",
    round(sum(case when sqleposlist between 9101 and 9130 then splxsbs1 else 0 end)/
                sum(case when sqleposlist between 9101 and 9130 then splxssr else 0 end)) "超市客单价",sum(case when sqleposlist between 8131 and 8152 then splxsbs1 else 0 end) "超市客数",
    sum(case when sqleposlist between 8131 and 8152 then splxssr else 0 end) "超市销售收入",
    round(sum(case when sqleposlist between 8131 and 8152 then splxsbs1 else 0 end)/
                sum(case when sqleposlist between 8131 and 8152 then splxssr else 0 end)) "超市客单价",sum(splxsbs1) "客数",sum(splxssr ) "销售收入",
    round(sum(splxssr )/sum(splxsbs1),2) "平均客单价" 
    from saleposlist where  spldate=convert(varchar(10),'20061205',112) 
    group by spldate
      

  2.   

    非常感谢47522341这位兄弟,我已经调试通过了,很理想。多谢啊,只是后面稍微改了一下
    from saleposlist where  trunc(spldate) between to_date('20061206','yyyymmdd') and  to_date('20061208','yyyymmdd')
    group by spldate