我正在创建一个查询,该查询将查看当前仍有未清余额的以前记录的续订记录。
现在,我已经设法进行了一个查询,使子记录返回查看父记录。基本上,第一个查询要做的是遍历并查看已续订的记录,然后将其与以前的父记录到期日期进行比较。
Select BL1.RECORDID as RECIID, BL2.EXPIRATIONDATE as ParentRecordExpirationDate,
(DATEDIFF(DD,GETDATE(),BL2.ExpirationDate)*-1)as DAYSOVER
from BLLICENSE BL1
JOIN RECORD BL2 on BL1.RECORDPARENTID = BL2.RECORDID
Where CONVERT(date,BL2.EXPIRATIONDATE) < GETDATE()
AND BL1.RECORDSTATUSID IN('Renewed',
'Issued', 'In Review',
'On Hold', 'Submitted',
'Fees Due')
现在,我已经处理了第一个复选框,我正在尝试找出如何让查询合并以下查询,以便我可以进行续订检查,并检查他们是否是未结发票/到期余额。
Select DISTINCT(BLL.RECORDID)
from CAINVOICE CAI
JOIN CAINVOICEFEE CAIF on CAIF.CAINVOICEID = CAI.CAINVOICEID
JOIN CACOMPUTEDFEE CACF on CACF.CACOMPUTEDFEEID = CAIF.CACOMPUTEDFEEID
JOIN RECORD BLLF on BLLF.CACOMPUTEDFEEID = CACF.CACOMPUTEDFEEID
JOIN RECORD BLL on BLL.RECORDID = BLLF.RECORDID
AND CAI.CASTATUSID in (1,2,3,6,7,8))
我尝试使用这两者的并集,但遗憾的是,这并不起作用,因为“所有使用UNION、INTERSECT或EXCEPT操作符组合的查询在其目标列表中必须具有相同数量的表达式。”
我打算尝试连接表,但是在查询#2上使用Distinct选项,我觉得会导致这个想法失败。
1条答案
按热度按时间imzjd6km1#
我实际上解决了这个问题。我应该只采取简单的路线,使用查询设计器。
选择不同的BLICENSE。BLICENSEID来自BLICENSE内部联接BLICENSEFEE上的BLICENSEID。BLICENSEID = BLICENSEFEE。BLICENSEID内部联接BLICENSEFEE上的CACOMPUTEDFEEID。CACOMPUTEDFEEID = CACOMPUTEDFEE。CACOMPUTEDFEEID内部联接CACOMPUTEDFEE上的CAINVOICEFEE。CACOMPUTEDFEEID = CAINVOICEFEE。CACOMPUTEDFEEID内部联接CAINVOICEFEE上的CAINVOICE。CAINVOICEID = CAINVOICE。CAINVOICEID其中CAINVOICE。CASTATUSID在(“到期日”、"过期“、”过期“)且BLICENSE. BLICENSEPARENTID不为空且(CONVERT(日期,BLICENSE.发布日期)〈= CONVERT(日期,获取日期()))