使用行数据从单独的表中选择列数据

inn6fuwd  于 2021-07-26  发布在  Java
关注(0)|答案(0)|浏览(244)

我有两个不同查询的数据需要核对。这些数据来自一个人选择日期和付款推迟贷款。该信息进入与查询1相关的表中的一行。付款未存储在查询1的行中。付款存储在查询2中的表中。唯一与这两个数据源相关的数据是日期。我需要以某种方式将查询1从一行转换为一个表,然后将其与查询2表相关联。在本例中,客户希望推迟2月29日和3月29日的付款,而不是4月29日的付款。

查询1

SELECT   TOP(1)     task_detail.task_refno
, task_detail.userdef10
, task_detail.userdef11
, task_detail.userdef12
, task_detail.userdef13
, task_detail.userdef37
, task_detail.userdef38
, task_detail.userdef39
, task_detail.userdef40
FROM            task INNER JOIN
task_detail ON task.task_refno = task_detail.task_refno
WHERE        (task.NLS_refno = 53475)
ORDER BY task.task_refno DESC

查询1结果

task_refno  userdef10   userdef11   userdef12   userdef13   userdef37   userdef38   userdef39   userdef40
252152      02/29/2020  03/30/2020   04/30/2020  NULL          1           1           0           0

查询2

SELECT TOP (6) lpd.row_id, lpd.date_due, lpd.payment_remaining
FROM                          loanacct_payments_due AS lpd INNER JOIN
                         loanacct AS la ON lpd.acctrefno = la.acctrefno
WHERE (lpd.date_due <= DATEADD(m, 3, CONVERT(date, GETDATE()))) 
AND (lpd.payment_type = 'PB' OR
     lpd.payment_type = 'PI' OR
     lpd.payment_type = 'P' OR
     lpd.payment_type = 'I') 
AND la.acctrefno = 53475

查询2个结果

row_id  date_due                 payment_remaining
6924954 2020-02-29 00:00:00.000 388.97
6970925 2020-03-30 00:00:00.000 398.97
7015051 2020-04-30 00:00:00.000 408.97

请注意,在查询1的结果中,userdef10、userdef11、userdef12、userdef13与查询2的结果中的到期日期有关。userdef37、userdef38、userdef39、userdef40的值是复选框,无论是否选中。1正在检查,0未检查。
在我的最终结果中,我需要从查询结果2中获得行id和payment,其中对应的userdef37、38、39和40等于1。
在这个例子中,我需要行id payment\u remaining 6924954 388.97
因为userdef37和userdef38都是1。
我认为查询1结果的最终结果是尝试将其放入一个表中,这样就可以在查询2结果上进行联接。

task_refno      due_date        selected
252152         02/29/2020       1
252152         03/29/2020       1
252152         04/29/2020       0
252152         NULL             0

尽量在到期日加入。
我从来不用把行数据转换成表格数据。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题