34,838
社区成员




我在SQL2008数据库中建立了“商品进销存管理数据库”。其中有“商品销售记录表”,主要字段有:
编号(numeric(12, 0)) ……注:编号格式如20021212001,后3位为顺序号
销售日期(datetime)
购货者(char(10),null)
会员卡号(char(20),null)
商品名(char(40))
商品类别(char(10)) ……注:商品类别分为:甲类、乙类、丙类、丁类四类
商品级别(char(10)) ……注:商品级别分为:A级、B级、C级、D级四级
计量单位(char(4))
销售数量(numeric(10, 0))
进货单价(numeric(10, 4))
进货总价(numeric(10, 2))
应销单价(numeric(10, 4))
会员单价(numeric(10, 4))
实销单价(numeric(10, 4))
应售总额(numeric(10, 2))
实售总额(numeric(10, 2))
毛利(numeric(10, 2)) ………注:毛利等于实销总价–购进总价
付款方式(char(20)) ………注:付款方式分为:现金、支付宝、微信、银行转账
现在需要根据销售数据,通过编写SELECT语句,求出某一时间段(如近三年)逐日销售汇总数据。
其中:逐日销售汇总数据要求汇总内容为:
销售日期(以日期型格式表示:2022/12/12)
来客数(以表中出现的不同“编号”数统计)
日销售品种(以表中出现的商品销售行数统计)
日应收总额(统计日所销售商品的应收总额)
日实收总额(统计日所销售商品的实收总额)
日让利总额(统计日所销售商品的应收总额减去实收总额)
进货总额(统计日所销售商品的进货总价)
毛利(实收总额–进货总额)
毛利率 (毛利*100/实收总额)
日销甲类商品总额(统计日销售甲类商品的实收总额)
日销甲类商品毛利((统计日甲类商品实收总额–进货总额)*100/实收总额)
日销A级商品总额(统计日销售A级商品的实收总额)
日销A级商品毛利((统计日A级商品实收总额–进货总额)*100/实收总额)
日会员销售总额(统计日会员销售的实收总额,以会员卡号不为null或空值为准)
我已经编写出求逐日汇总查询的视图的简易语句:
SELECT CONVERT(VARCHAR(8), 销售日期, 112) AS 销售日期, SUM(购进总价) AS 购进总价, SUM(销售总价) AS 销售总价, SUM(购销差价) AS 购销差价, COUNT(销售总价) AS 销售批次, SUM(应销售总价) AS 应销售总价, SUM(应销售总价) - SUM(销售总价) AS 让利总额 FROM dbo.商品销售记录表 GROUP BY CONVERT(VARCHAR(8), 销售日期, 112)
以上语句能正常运行。
现在要问:如何在上述语句中插入求每日销售甲类商品与A级商品金额的句子?敬请指导,不胜感激!
SELECT CONVERT(VARCHAR(8), 销售日期, 112) AS 销售日期,
SUM(购进总价) AS 购进总价,
SUM(销售总价) AS 销售总价,
SUM(购销差价) AS 购销差价,
COUNT(销售总价) AS 销售批次,
SUM(应销售总价) AS 应销售总价,
SUM(应销售总价) - SUM(销售总价) AS 让利总额,
SUM(CASE WHEN 商品类别='甲类' THEN 1 ELSE 0 end) AS 每日销售甲类商品, --这里的1改成想要统计的金额字段
SUM(CASE WHEN 商品级别='A级' THEN 1 ELSE 0 end) AS A级商品金额 --这里的1改成想要统计的金额字段
FROM dbo.商品销售记录表
GROUP BY CONVERT(VARCHAR(8), 销售日期, 112);