问题描述
我正在使用oracle sqldeveloper,并且试图生成包含根据日期范围搜索的某些条件下的客户信息的结果。我感觉自己已经接近了,但是我想包括符合所有条件但还没有付款的帐户。
我的预期结果是看起来像这样:
CYCLENUMB | WOCREATIONDATE | POSTINGDATE | CUSTOMERNUMBER | FirsTNAME | LASTNAME | ADDRESS | WOORDERTYPE | DESCRIPTION | PAYMENT
12 | 29-JUL-20 | 01-AUG-20 | 345506 | Luke | Skywalker| 123 Lakeway Dr. | 636 |Completed | $100
24 | 01-AUG-20 | 07-AUG-20 | 456923 | Leia | Skywalker| 456 Lakeway Dr. | 636 |Completed | $300
35 | 17-AUG-20 | 24-AUG-20 | 596854 | Chewy | Wookie | 789 Lakeway Dr. | 636 |Completed | NULL
80 | 21-AUG-20 | 28-AUG-20 | 695067 | Han | Solo | 432 Wrongturn Dr.| 636 |Completed | NULL
66 | 25-AUG-20 | 30-AUG-20 | 235645 | Count | Dooku | 534 Wrongturn Dr.| 636 |Completed | $225
但是我的结果就是这样
CYCLENUMB | WOCREATIONDATE | POSTINGDATE | CUSTOMERNUMBER | FirsTNAME | LASTNAME | ADDRESS | WOORDERTYPE | DESCRIPTION | PAYMENT
12 | 29-JUL-20 | 01-AUG-20 | 345506 | Luke | Skywalker| 123 Lakeway Dr. | 636 |Completed | $100
24 | 01-AUG-20 | 07-AUG-20 | 456923 | Leia | Skywalker| 456 Lakeway Dr. | 636 |Completed | $300
66 | 25-AUG-20 | 30-AUG-20 | 235645 | Count | Dooku | 534 Wrongturn Dr.| 636 |Completed | $225
下面是我要运行的查询
select customermaster.cyclenumber as CYCLENUMB,workorder.creationdate as WOCREATIONDATE,MAX(cushistory.postingdate) as POSTINGDATE,cushistory.customernumber as CUSTOMERNUMBER,customerpersonalinfo.firstname as FirsTNAME,customerpersonalinfo.lastname as LASTNAME,premiseaddress.Concatenated_Address as ADDRESS,workorder.ordertype as WOORDERTYPE,workorderstatus.description as DESCRIPTION,SUM(cushistory.moneysegment1) as PAYMENT
from customermaster,workorder,customerpersonalinfo,(select
premiseaddress.company as COMPANY,premiseaddress.premisenumber as PREMISENUMBER,((to_char(premiseaddress.currpremisestreetnumber) || ' ') || premiseaddress.currpremisestreetname) as Concatenated_Address
from premiseaddress)
premiseaddress,workorderstatus,cushistory
where workorder.ordertype = 636
and cushistory.moneytypecode1 = 7
and workorder.application = 3
and cushistory.postingdate between '01-Aug-20' and '31-Aug-20'
and customermaster.customernumber = cushistory.customernumber
and cushistory.customernumber = workorder.customernumber
and customermaster.company = workorder.company
and customermaster.accounttype = workorder.application
and customermaster.customernumber = workorder.customernumber
and workorder.application = workorderstatus.application
and workorder.completecode = workorderstatus.workorderstatus
and customermaster.company = customerpersonalinfo.company
and customermaster.occupantcisnumber =customerpersonalinfo.cisnumber
and customermaster.company = premiseaddress.company
and customermaster.premisenumber = premiseaddress.premisenumber
GROUP BY customermaster.cyclenumber,workorder.wocreationdate,cushistory.postingdate,customermaster.customernumber,customerpersonalinfo.firstname,customerpersonalinfo.lastname,premiseaddress.Concatenated_Address,workorder.ordertype,workorderstatus.description
ORDER BY workorder.creationdate asc
我包括一个用于简化客户地址的子查询。从保管处发布的日期是我正在申请的日期范围文件。
请注意,保管库表是保存客户编号和付款的主表。我想让它与工作订单表一起加入以包含空值,但是还没有想办法做到这一点。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)