永发信息网

用sql 实现报表查询

答案:4  悬赏:80  手机版
解决时间 2021-02-24 10:13
现在有4张表,销售表、进货表、企业支出费用表、其他费用表 ,现在客户要求算出当月每天的利润,
利润=销售额(销售表中)-进货成本(进货表)-支出费用(企业支出费用表)-其他费用(其他费用表),
要显示一个月中每天的利润,求写sql 语句。
最佳答案
select sales.a,sales.b - inbuy.b - cost1.b - cost2.b
from
(select date as a,sum(销售额) as b from 销售表 where date between 开始日期 and 结束日期 group by date ) as sales,
(select date as a,sum(进货额) as b from 进货表 where date between 开始日期 and 结束日期 group by date) as inbuy,
(select date as a,sum(支出额) as b from 企业支出费用表 where date between 开始日期 and 结束日期 group by date) as cost1,
(select date as a,sum(费用额) as b from 其他费用表 where date between 开始日期 and 结束日期 group by date) as cost2
where
sales.a = inbuy.a and
sales.a = cost1.a and
sales.a = cost2.a
全部回答
4张表,销售表、进货表、企业支出费用表、其他费用表 是怎么关联的?用哪个字段?
给你一个例子 基本可以传递参数 到水晶报表 可以查询 并且可以将参数字段显示为你需要的值 以前采用vb6做的动态传递水晶报表参数字段,存在一个缺陷就是在设计水晶报表的时候没有按照注释的那里写的(直接拖参数字段到预览的界面)就不会出现水晶报表提示要输入离散值的消息框。其实也不完全是这样的,有时我按照这种方式操作仍然有这个输入离散值消息框的提示,具体是什么原因造成的还不是很清楚,估计开发水晶报表的明白内部机制的原因,我只想能顺畅的使用就可以了,可出现不相关的输入提示就直接影响到客户使用程序。 我在做dotnet2005时用的是水晶报表10,在传递参数后。有加入了设置显示报表控件的参数对象集合为传递的参数值【crviewer91.parameterfieldinfo = m_report.parameterfields 】运行程序就没有这个输入离散值的提示。vb6使用水晶报表9.0不知道加入这个设置是否能解决问题。暂时我还没有条件测试主要是计算机上没有安装水晶报表9,不过也是一种解决这个问题的办法。先在这里保存起来,待有条件了测试下,没有这条语句可能在设计报表rpt文件的时候和程序动态调用可就要来回的测试了 。 哈~~~~~~ private sub displayreport1() '' ========================================================== ' 开发人员:段利庆 ' 编写时间:2008-09-01 ' 过程名称:displayreport ' 参数说明: ' 功能说明:动态载入水晶报表文件(*.rpt)显示打印预览 ' ' 其他说明:程序采用的是crystal reports 9.1版本 ' 工程引用:crystal reports 9 activex designer design and runtime library ' 控件:crviewer91 ' ' '' ========================================================== '*中央错误处理 on error goto proc_err dim m_application as new craxddrt.application dim m_report as craxddrt.report dim strsql as string strsql = "select * from 视图_收费_计量仪表 " dim strrptpath as string strrptpath = app.path & "\crystal_rpt_para\sell_meter.rpt" debug.print "strrptpath:" & strrptpath set m_report = nothing set m_report = m_application.openreport(strrptpath, 1) '*防止弹出水晶报表数据库登录对话框 m_report.database.tables.item(1).testconnectivity m_report.database.tables.item(1).connectbufferstring = objdata.connectionstring m_report.sqlquerystring = strsql '**************************************************** '*参数字段传递参数 '* '*搞了2天了终于找到原因了 08-09-03 '*1.在新建一个参数字段,一定要直接拖放到预览里面 '* 否则拖到设计里面就要弹出输入离散值的消息框 '* '*2.getitembyname("myparat") 参数是参数字段的名称 '* m_report.discardsaveddata m_report.parameterfields.getitembyname("myparat").clearcurrentvalueandrange m_report.parameterfields.getitembyname("myparat").addcurrentvalue (text1.text) m_report.parameterfields.getitembyname("k1").clearcurrentvalueandrange m_report.parameterfields.getitembyname("k1").addcurrentvalue (text1.text) m_report.parameterfields.getitembyname("k2").clearcurrentvalueandrange m_report.parameterfields.getitembyname("k2").addcurrentvalue (text1.text) '*----------------------------------------------------- '* 以下这句是否能彻底解决弹出离散值输入框问题 '*是根据vb2005 crystal report10 顺畅的处理结果得出的 '*2009-08-26 'crviewer91.parameterfieldinfo = m_report.parameterfields '*传递的对象 用下面的语句 '*set crviewer91.parameterfieldinfo = m_report.parameterfields '*----------------------------------------------------- '**************************************************** crviewer91.displaygrouptree = false crviewer91.reportsource = m_report crviewer91.zoom 1 crviewer91.viewreport '*结束子程序 proc_exit: exit sub '*错误处理,显示出错信息 proc_err: msgbox " errnumber: " & err.number & vbcrlf & _ "errdescription: " & err.description & vbcrlf & _ " module: " & me.caption & vbcrlf & _ " procedure: " & "displayreport" goto proc_exit end sub
SELECt x.riqi,(x.xiaoshoue - j.chengben - z.feiyong - q.qita) AS lirun FROM xiaoshou X,jinhuo j,zhichu z,qita q WHERe x.riqi = j.riqi AND x.riqi = z.riqi AND x.riqi = q.riqi
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
七十多岁男人有没性欲,怎么样?
拳皇wing1.3下载swf格式的在哪下载
新张泾地址有知道的么?有点事想过去
路由器改了名字和密码 电脑收不到无线网
狼性总裁欺上瘾那里能看全文阅读
南京顺友物资有限公司怎么样?
精华液和眼霜先用哪个
电话座机快没电了,上网老是断线,是不是和电
station.night.twelve.funny.twenty用英语分
厚皮子土猪肉在什么地方啊,我要过去处理事情
有烟台到河南周口的汽车吗?
信用卡欠款5000多,逾期大概有一年多。请问这
1994年高考是几月几日
从青岛到浙江湖州怎么去最省钱 需要多少时间
中国人民银行决定,从2004年10月29日起上调金
推荐资讯
宏伟建材在什么地方啊,我要过去处理事情
拍婚纱照穿什么内衣?最好在拍婚纱照的时候穿
菲律宾的纺织品批发市场
2017年驾考新规
三星手机cvk350售价多少
PSP金手指FreeCheat怎么用
永庆里社区在什么地方啊,我要过去处理事情
菱形脸 下巴是平的吗
开饭店卤驴肉用哪些卤肉料及做法
汉匈全面战争里的兵器
地藏菩萨?历史上真有这个人物吗?
奔跑吧兄弟第五季baby回归时热巴走吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?