永发信息网

这段ORACLE语句还有优化的余地吗?

答案:1  悬赏:70  手机版
解决时间 2021-05-14 01:41
 select A.paycomp,
                           fg_customfile.compname,--客户.单位名称
                           fg_customfile.roadno,--客户.配送路线
                           '' as roadname,
                           enterprise.address1,--往来单位.单位住址
                           '' as isaddhurry,
                           '' as isselfcarry,
                           (Case
                             When Exists (Select 1
                                     From ec_sendermst B
                                    Where A.Paycomp = B.Paycomp
                                      And B.Sendtype = 'T') Then
                              0
                             Else
                              1
                           End) as isred,
                           sum(decode(sendtype,'F',ec_senderdtl.sendsum)) as fsendsum, --发货单金额
                           sum(decode(sendtype,'T',ec_senderdtl.sendsum)) as tsendsum, --退货单金额
                           (sum(ec_senderdtl.sendsum)) as invsum
                      from ec_sendermst A, ec_senderdtl, fg_customfile, enterprise
                     where A.ocode = AS_OCODE
                       and (A.sendtype <> 'Y' and A.sendtype <> 'D')
                       and A.sendid = ec_senderdtl.sendid
                       and A.appflg = 1
                       and ec_senderdtl.orgflg = 1 --是否原行(1:原行,0或null: 非原行)
                       and fg_customfile.ocode = '001'
                       and fg_customfile.compno = A.paycomp --客户.单位代码=发货单主表.结算单位
                       and fg_customfile.compno = enterprise.compno--客户.单位代码=往来单位.单位代码
           -- 发货单类型('F'发货单、'T'退货单、'E'换货型退货单、'H'换货单、'D'调拨单、'C'调整单、‘Y'移库单,'I':委托代销初始单据)      --销售性质(01经销、02代销、03直销、04内调、05转储)
                       and A.sendtype in ('D', 'F', 'T', 'E', 'H', 'I') and A.salepre in ('01','03')
                       --开贷项凭单状态(0,未开 1,部分 2,全部)
                       and (ec_senderdtl.makebalflg is null or ec_senderdtl.makebalflg = 0 or ec_senderdtl.makebalflg = 1)
                       --标准数量 * (标准数量-开贷项凭单数量)
                       and ec_senderdtl.sqty * (ec_senderdtl.sqty - nvl(ec_senderdtl.smakebalqty, 0)) > 0
                       group by A.paycomp,fg_customfile.compname,fg_customfile.roadno,enterprise.address1;
最佳答案
一种数据库编程语言:结构化查询语言(Structured Query Language)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
是找一个爱自己的人好,还是找一个自己爱的人
非煤地下矿山反哪八大系统?
手机上网时出现网络错误怎么办
夷陵区宜昌市夷陵区农业环境保护站我想知道这
做拍拍买家用,和photoshop,求什么样的笔记本
你相信异地恋有结果么?为什么?
一周八个月的宝宝,没生病,可跑累了就会咳几声
电信2M速度不稳定是什么原因
谁给我真人秀
怎样在百度弄qq空间?比如皮肤?装饰?急急急
襄城区天醉园烤全羊这个地址在什么地方,我要
酒神阴阳冕第496章497章
怎么才能赚元宝?
apink现在有几个人 娜恩退队了吗
黄陂区伊丽莎布艺地址在什么地方,想今天过去
推荐资讯
江苏省江阴市哪里有卖雪茄的
谁能帮我,赶紧给我找好的专业学校?可是我从
帮忙起个地下城与勇士剑客的名字
谁有WWE杰夫·哈迪最后一场比赛的视频
为什么我家的文竹夏天叶子会泛黄
请问我的电脑几分钟掉一次线是什么问题
诺基亚X6市场价是多少
给个哈利波特系列的书网站
为什么显示储存卡已满
嗨K有什么好处?
华硕P5VD2-VM SE这块板子最高能够支持到Inter
土豆软件中的问题
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?