我有点生疏SQL,需要验证一个系统中转换的一些数据。先前开发的查询在转换之前不是很准确。我已经能够追溯源数据并验证转换的正确性,但这是逐个账户进行的。我希望有一个查询来显示完整的数据集。
我已经将解决方案缩减到了两个查询,但我无法想出如何将它们组合成一个片段以显示完整的数据集,其中第一个查询的一个值需要作为第二个查询的一个元素。
查询1:
select distinct
CreatedDate, AccountNum
From
Table1 A
Join
Table2 B on A.Column1 = B.Column1 and a.Column2 = b.Column2
Join
Table3 C on A.Column3 = C.Column3 and A.Column4 = C.Column4
where
Condition A and Condition B
查询2
Select distinct
AccountNum, Responsible
From
Table3 D
Join
Table4 E on D.Column1 = E.Column2
where
StartDate <= 'DateValue' and EndDate > 'DateValue'
我想在查询1中使用
CreatedDate
值作为查询2的DateValue
,但我找不到解决方案来获得所需的结果。如果我给每个查询添加限定符,例如账户号码,那么查询1将只返回一个结果。然后,我将该
CreatedDate
值放入查询2中,就能获得我想要的结果。如果我只在第二个查询中有账户号码,则会得到两个结果,一个区间为A到B的负责值为X,另一个区间为C到D的负责值为Y,其中CreateDate
值落在这个时间段。我尝试过的任何组合这些查询的方法都会得到负责值为X(或没有结果),而我想要的是Y值。我一直无法成功地将这两个查询集成在一起,以便将
CreatedDate
值传递为参数来确定负责值。一个可行的解决方案是创建一个用于存储第一个查询结果的中间表,并将该表连接到第二个查询中。但我无法访问数据库中的创建/插入/更新表/记录的权限,因此无法使用此方法。