求一采购单季度统计报表的SQL查询!在线等...

3tzjq 2005-11-09 10:55:02
数据表:
产品资料表:Products --> P(代号)
采购单主表:PurchaseMaster --> PM
采购明细表:PurchaseDetails --> PD

关联字段:
Products:
ProductID 商品编号 主键
P_Name 商品名称
P_Des 商品描述
P_Unit 计量单位
...
PurchaseMaster:
PM_ID 采购单号 主键
PM_Date 采购日期
...
PurchaseDetails:
PD_ID 自动编号 主键
PM_ID 采购单号 外键(PurchaseMaster.PM_ID)
ProductID 商品编号 外键(Products.ProductID)
PD_Num 采购数量
PD_Price 单 价
...

需要列出的字段:
P.ProductID,
P.P_Name,
P.P_Des
P.P_Unit
Count(PD.PD_Num),
Max(PD.PD_Num),
Min(PD.PD_Num),
Avg(PD.PD_Num),
Max(PD.PD_Price),
Min(PD.PD_Price),
Avg(PD.PD_Price),
Sum(PD.PD_Price)

求 PM.PM_Date Between 某一季度的上述统计数据。谢谢!
...全文
267 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
3tzjq 2005-11-10
  • 打赏
  • 举报
回复
谢谢!
churchatp1 2005-11-09
  • 打赏
  • 举报
回复
select
P.ProductID,
P.P_Name,
P.P_Des
P.P_Unit,
Count(PD.PD_Num),
Max(PD.PD_Num),
Min(PD.PD_Num),
Avg(PD.PD_Num),
Max(PD.PD_Price),
Min(PD.PD_Price),
Avg(PD.PD_Price),
Sum(PD.PD_Price)
from
Products p,
PurchaseDetails pd,
PurchaseMaster pm
where p.ProductID =pd.ProductID and pd.PM_ID =pm.PM_ID
group by
P.ProductID,
P.P_Name,
P.P_Des
P.P_Unit,
datepart(year,pm.PM_Date),
datepart(quarter,pm.pm_date)

churchatp1 2005-11-09
  • 打赏
  • 举报
回复
不好意思,忘了年了

我写的是把所有季度都统计的
如果你只是要统计指定的话
那就放where里面就是了
declare @sql varchar(8000)
declare @quarter varchar(1)
declare @year varchar(4)
set @quarter='2005'--输入要查询的年
set @quarter='3' --s输入你要的季度
set @sql='select '+
'P.ProductID, '+
'P.P_Name, '+
'P.P_Des '+
'P.P_Unit, '+
'Count(PD.PD_Num), '+
'Max(PD.PD_Num), '+
'Min(PD.PD_Num), '+
'Avg(PD.PD_Num), '+
'Max(PD.PD_Price), '+
'Min(PD.PD_Price), '+
'Avg(PD.PD_Price), '+
'Sum(PD.PD_Price) '+
'from '+
'Products p, '+
'PurchaseDetails pd, '+
'PurchaseMaster pm '+
'where p.ProductID =pd.ProductID and pd.PM_ID =pm.PM_ID and '+
'datepart(quarter,PM.PM_Date)='+@quarter +' and datepart(year,PM.PM_Date)='+@year

exec (@sql)
这样就可以了

churchatp1 2005-11-09
  • 打赏
  • 举报
回复
我写的是把所有季度都统计的
如果你只是要统计指定的话
那就放where里面就是了
declare @sql varchar(8000)
declare @quarter varchar(1)
set @quarter='3' --s输入你要的季度
set @sql='select'+
'P.ProductID,'+
'P.P_Name,'+
'P.P_Des'+
'P.P_Unit,'+
'Count(PD.PD_Num),'+
'Max(PD.PD_Num),'+
'Min(PD.PD_Num),'+
'Avg(PD.PD_Num),'+
'Max(PD.PD_Price),'+
'Min(PD.PD_Price),'+
'Avg(PD.PD_Price),'+
'Sum(PD.PD_Price)'+
'from'+
'Products p,'+
'PurchaseDetails pd,'+
'PurchaseMaster pm'+
'where p.ProductID =pd.ProductID and pd.PM_ID =pm.PM_ID and'+
'datepart(quarter,PM.PM_Date)='+@quarter

exec (@sql)
这样就可以了
churchatp1 2005-11-09
  • 打赏
  • 举报
回复
我写的是把所有季度都统计的
如果你只是要统计指定的话
那就放where里面就是了
declare @sql varchar(8000)
declare @quarter varchar(1)
set @quarter='3' --s输入你要的季度
set @sql='select'+
'P.ProductID,'+
'P.P_Name,'+
'P.P_Des'+
'P.P_Unit,'+
'Count(PD.PD_Num),'+
'Max(PD.PD_Num),'+
'Min(PD.PD_Num),'+
'Avg(PD.PD_Num),'+
'Max(PD.PD_Price),'+
'Min(PD.PD_Price),'+
'Avg(PD.PD_Price),'+
'Sum(PD.PD_Price)'+
'from'+
'Products p,'+
'PurchaseDetails pd,'+
'PurchaseMaster pm'+
'where p.ProductID =pd.ProductID and pd.PM_ID =pm.PM_ID and'+
'datepart(quarter,PM.PM_Date)='+@quarter
这样就可以了
bugchen888 2005-11-09
  • 打赏
  • 举报
回复
SELECT P.ProductID,
Min(P.P_Name), Min(P.P_Des), Min(P.P_Unit),
Count(PD.PD_Num), Max(PD.PD_Num), Min(PD.PD_Num),
Avg(PD.PD_Num), Max(PD.PD_Price), Min(PD.PD_Price),
Avg(PD.PD_Price), Sum(PD.PD_Price)
FROM Products p, PurchaseDetails pd, PurchaseMaster pm
WHERE p.ProductID = pd.ProductID
AND pd.PM_ID = pm.PM_ID
GROUP BY P.ProductID, DATEPART(year,pm.PM_Date), DATEPART(quarter,pm.pm_date)


Group中没有必要出现P.P_Name,P.P_Des,P.P_Unit.
zxbyhcsdn 2005-11-09
  • 打赏
  • 举报
回复
你要用季度统计的嘛,当然datepart(year,pm.PM_Date),datepart(quarter,pm.pm_date)要放到Group by 了哟!

Group by 是分组的意思
3tzjq 2005-11-09
  • 打赏
  • 举报
回复
to churchatp1(别看资料,看聊效!) :
谢谢你的代码!
能否解释一下datepart(year,pm.PM_Date),datepart(quarter,pm.pm_date)为什么要放在Group By块中?还不是放在Where ... And PM.PM_Date Betwenn .... And ....?
另外能否让用户指定统计季度 或 统计任何有效的数据期间?

再次感谢!!
王中王羽毛球馆管理软件介绍 一、简介 王中王羽毛球馆管理软件也称【羽毛球管理软件】【羽毛球管理系统】【羽毛球馆管理系统】【羽毛球馆管理软件】【羽毛球馆收费软件】【羽毛球馆计费软件】是一套用于羽毛球馆、羽毛球场、体育馆、网球馆、台球厅等体育场馆的专业优秀的电脑收费管理系统。该系统采用先进的dotnet开发技术,结合国内先进的管理思想和管理方法,历经2年开发而成。集POS收银收费管理,场地租金分时段分场地计费管理,场地预订,会员管理,短信预定管理、灯光控制、语音交互等强大功能为一身。能够有效的杜绝管理上的漏洞,使客户和经营者的联系更加紧密减少客户的流失,大幅度降低管理工作的工作量, 降低服务员的劳动强度节约成本,使您的经营管理变得轻松简。持卡消费真正让客户感受到球馆的档次. 本系统适合于以下场馆使用:羽毛球馆,乒乓球馆,体育馆、体育中心,网球馆,保龄球馆, 沙狐球馆, 台球馆, 高尔夫馆, 瑜伽馆 馆,武术馆馆, 泰拳道馆馆,柔道馆馆, 健身房馆,游泳馆, 溜冰场馆,篮球场馆,足球场馆, 射击场馆, 卡丁车场馆, 滑雪场馆,潜水俱乐部馆等等 下图为自定义界面全屏显示: 二、管理特色: 王中王羽毛球管理软件跟国内其他同类相比,最大的特点是采用独创的价格规则来定义场地价格,使场地价格定义方式灵活、强大、操作非常简。可以实现任意的您能想到的优惠方案,而设置时只需要增加一条价格规则。不像其他软件,您需要对每个场地不同时间,输入不同的价格,输到你头昏。其他的特点下面依次展开论述。 2.1场地价格定义灵活方便、功能强大。 系统出厂时已经设置了定价规则。用户可以自定义定价规则。定价规则有四个要素: ? 客户 (可以指定为全部、会员、非会员、或者通过公式指定的一部分会员) ? 场地 (可以指定全部场地、一类场地,比如羽毛球场、或者其中的几片场地、一片场地) ? 时间:可以指定为全部时间,或者部分时间:比如节假日、春节、五一、十一 ? 周末,选择时间非常方便 ? 价格,支持按小时或者按次计费缺省一次是2小时,可以参数设置一次的长短 系统可以建立无数个定价规则,规则有优先级别,级别高的规则起作用,这样理论上系统可以实现无穷个价格方案,而付出的成本却是异常低廉的,这为经营者发挥营销才能 提供了物质基础。举个例子:老板说,我要实现“过生日的会员在每天下午6点到7点打球只要10元/小时”,试问国内那个软件可以实现?而我们可以轻松实现。 您也许会说,定价规则很复杂,我不会使用怎么办?您放心。定价规则可以方便导入导出,如果您不懂设置价格规则,我们可以帮助你设置,然后把价格规则发送给你,使您解除后顾之忧。同时系统里内置规则中实现了多种收费标准,您可以随意选择使用。 2.2商品折扣定义方便灵活。 商品折扣支持简折扣和复杂折扣。 简折扣只要定义每个商品的会员价和零售价。 复杂折扣可以根据 时间【平时,闲时,白天、晚上】 客人【所以人,会员、非会员、一部分会员】 商品【全部商品、部分商品、部分商品类别】 数量的不同而使用不同的折扣。可以方便的实现开业优惠、节日促销。 可以实现的典型的优惠方案: 开业五折优惠 购买可口可乐5瓶以上10瓶以内打8折 金卡会员晚上8点到10点购买脉动可以达8.6折。 2.3场地预定简、方便。 系统支持临时、每日、每周三种类型的预定,每日、每周预订只要录入一次、到时间会自动显示在界面上、场地的状态图会自动显示场地已经被预订、过了预订时间后场地的状态又会自动还原。提供史上最强大的图形查询界面,可以按日、按周、按月查询预订信息。预订人可以临时取消不来,操作灵活。支持球票管理,出售球票时自动产生预订。开场时无需付款. 2.4界面美观大方全键盘操作 (不用鼠标也能操作),多达26多种皮肤,100%满足您的个性要求。 2.5强大的优惠卡管理功能。 支持四种类型的优惠卡。 按次计算的优惠卡:比如300元10次卡(每次1小时) 按时间计算的优惠卡 :比如500元20小时卡, 现金充值卡:面值1000元,售价800元,相当于打八折 包时卡:如:包打一年1000元 支持优惠卡新卡登记、优惠卡销售、优惠卡充值功能。 2.6强大的会员管理 支持会员照片、支持摄像头照相。 支持会员充值、转账 会员消费查询 会员密码,设置密码后,不用带卡也可以消费 支持会员组概念,系统提供了很多公式,可以方便快速 对会员分组,比如: 20岁以上50以下会员 积分大于1000的会员 今天过生日的会员 累计消费超过10000元的会员 余额超过5000元的会员 入会超过2年的老顾客 通过分组,可以实现复杂的收费规则,而实现起来却非常简 会员卡支持磁卡、ID卡、IC卡、MF1卡(非接触IC卡)多种介质 目前支持深圳方卡M1读卡机,常州银联M
王之王高尔夫练习场管理软件 1. 前言 王之王高尔夫练习场管理软件也称高尔夫练习场收费软件,王之王高尔夫练习场管理软件是一套专门用于高尔夫练习场的专业优秀的电脑收费管理系统。 该系统采用先进的dotnet开发技术,结合国内先进的管理思想和管理方法,历经3年开发而成。集POS收银收费管理、分时段计时计费管理、分时段计球收费管理、打位预订、会员管理、短信预定管理、语音交互等强大功能为一身。能够有效的杜绝管理上的漏洞,使客户和经营者的联系更加紧密减少客户的流失,大幅度降低管理工作的工作量, 降低服务员的劳动强度节约成本,使您的经营管理变得轻松简。 当然,如果您对系统的移动性有要求,该系统还可实现掌上电脑、移动设备等与系统的有机连接,让您随时随地都可轻松处理业务事件。 2. 软件功能 2.1 营业管理 主要功能有前台营业、商品销售、会员充值、会员消费、会员转账、开球查询、开球明细查询、账查询、签查询、营业收入明细查询、收银明细查询、商品消费明细查询、来电记录查询、按收银员统计商品明细、客户自助点管理 ? 系统支持不同结账方式混合结账。例如客人同时使用会员卡和现金结账。从会员卡中扣除100元,同时给50元现金 ? 操作员能很方便的通过状态图和时序图了解到当前每个打位的占用情况,打位的不同时间段的占用情况,并能通过简的操作查询到比如:晚上8点到10点的全部空闲打位情况。 ? 系统提供完善的容错机制,操作员发生操作失误,比如客人用卡消费,操作员结账时按现金结账了。操作员可以使用冲销账功能修改错误,然后再做一笔正确的账。 ? 开球时,系统能根据会员的级别自动生成每个消费项应该享有的折扣,包括打位租金的折扣,消费商品的折扣。一切都是自动的。对操作员来说非常简方便。 ? 会员在前台办理开球时,操作员可通过比对电脑系统中的照片来识别会员真伪 ? 操作员在营业界面可以收到预订提醒,会员生日提醒,会自助点提醒。 ? 操作员工无需现场折扣,避免“人情价格”,避免球会员工无意或“故意”输入错误价格,给球会造成损失 2.2 预订管理 主要功能有打位预订、预订管理、预订查询、订场明细查询、空打位查询、预订提醒、订位情况图形显示 ? 操作员可以图形化查询打位预订情况 ? 可以新增,删除,暂停预订 ? 可以输入开始时间结束时间查询一个时间段的打位预订情况 2.3 会员管理 主要功能包括会员档案、会员组设置、会员级别设置、会员有效期设置、会员充值赠送设置、会员密码更改、会员密码重设、会员查询、会员消费查询、会员消费明细查询、会员充值/消费记录查询、会员积分排行、应收账管理、会员消费排行、会员积分管理、会员积分明细查询、会员副卡管理、会员预付费商品管理、预付费商品存取记录查询、会员消费限制规则设置、会员卡自动检查 ? 系统接触IC卡,非接触IC卡,ID卡,条码卡,磁卡,普通PVC卡,可视卡等等 ? 会员支持4种收费方式: ? 普通:按金额计费,具体价格在“定价规则设置”,或者“折扣”中体现 ? 限时间:按小时计费,可以实现类似“1000元50小时”的收费方式 ? 限次数:按次数计费,可以实现“1000元100次”的收费方式 ? 包年包月:按一段时间收费。可以实现“季度卡600元”的收费方式或者10000元包打一年,1次交付10000元,一年内不限制到场次数. ? 可以设置消费限制,如:普通卡每天只能用一次,一次只能开1个打位。 ? 支持套餐管理,如一次性付款18000,可免费使用球道100小时、真草短打区80小时、VIP包厢50小时。或者:一次性付款5000元购买5000粒练习球,以后消费时扣数,直到用完5000个球。 ? 支持会员照片,支持摄像头照相,图片文件上传,所有图片保存在服务器供个客户端共享 ? 支持积分管理,积分商品兑换。 ? 支持会员密码,会员可以设置密码,防止卡上余额被非法使用。 ? 前台营业界面刷卡即刻显示会员详细信息,包括会员照片 ? 支持会员短信群发,支持短信猫,移动飞信 2.4 库存管理 主要功能包括采购入库、盘盈入库、采购退货出库、销售退货入库、盘亏出库、仓库调拨、出入库据管理、销售结转库存、出入库据查询、出入库商品明细查询、未结转库存销售记录查询、库存查询。支持通过盘点机来实现盘点库存,大大方便了工作人员,并提高了盘点效率,盘点机数据可以方便导入球场管理系统。 2.5 储物柜管理 主要功能包括储物柜管理、储物柜资料设置、储物柜类型设置、储物柜收费方式设置、储物柜出租记录查询 2.6 报表管理 主要功能包括营业情况统计报表、营业综合统计报表、营业收入日报表、营业收入日报表[收银专用]、营业收入月报表、收银员交班报表、交班报表总览、会员名册报表、库存报表、库存日报表、库存月报表、打位租金统计报表、会员消费充值统计表、会员刷卡次数统计表、销售毛利报表、商品采购报表 2.7 基本资料 主要功能包括打位设置、打位类型设置、打位组设置、场租定价规则设置、商品折扣设置、营业时间设置、商品类别设置、商品设置、仓库设置、供应商设置、计时规则设置、出租器材设置、预付费商品设置、预付费商品消耗方式设置、预付费套餐设置 2.8 系统管理 主要功能包括软件注册、用户管理、用户授权、角色设置、角色授权、系统初始化、重新登录、更改密码、参数设置、界面风格、执行sql语句、我的输入法设置、强行删除数据、操作日志查询、数据备份、数据恢复、账删除 2.8 其他功能 ? 网上预订打位 ? 会员自助服务 ? 会员短信预订以及查询 ? 电话语音查询管理系统 ? 连锁球场管理系统 7. 典型客户 福州泉头乡村俱乐部 无锡时代高球中心高尔夫练习场 海南省海口市白沙门高尔夫俱乐部 8. 联系方式 联系方式:QQ: 1542901466 电话: 13798998059 刘先生 0756-2278925 珠海王之王软件公司网站:www.kokgolf.com Email:lcc@163.net 官方下载:http://www.kokgolf.com/soft/golfsetup.rar

27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧