首页 > 解决方案 > 使用行数据从单独的表中选择列数据

问题描述

我有数据需要从两个不同的查询中进行协调。该数据来自选择日期和付款以推迟贷款的人。该信息进入与查询 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 结果中的 date_due 相关。userdef37、userdef38、userdef39、userdef40 的值是选中与否的复选框。1 被检查,0 未被检查。

在我的最终结果中,我需要从查询结果 2 中获取 row_id 和 payment_remaining,其中对应的 userdef37、38、39 和 40 等于 1。

在这个例子中,我需要 row_id payment_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

并尝试在到期日期加入。

我从来不需要获取行数据并将其转换为表格数据。

标签: sqlsql-serverpivotcrosstab

解决方案


推荐阅读