繁体   English   中英

将子行合并为单行视图的 SQL 查询

[英]SQL query to combine child rows into a single row view

我有活动父表和活动子表。 我需要一个 sql 查询来查看键作为列名和值作为列值作为单个父行。 表格和结果如图所示。 键和值会动态变化。 谢谢

活动表

Activityid     Activity  Time               
10            Activity1   Time1                 
11  Activity2   Time2                   
12  Activity3   Time3                   
13  Activity4   Time4                   

        

活动表

Activityid  key value                   
10  Name    Mike                    
10  Account Saving                  
10  Type    Current                 
11  Party   ISG                 
11  loan    11233                   

                        
                        

如果我给activityid 10,我应该得到如下结果

Activityid  Activity    Time    Name    Account Type    
10         Activity1    Time1   Mike    Saving  Current     

这种算法称为“旋转”。
您可以使用 Db2 中 DB2中的链接动态数据透视 SQL 查询中描述的通用例程。
使用以下调用为您的案例获取所需的结果集:

CALL PIVOT
(
'
SELECT A.*, B.key, B.value
FROM Activity A
JOIN Activities B ON B.Activityid = A.Activityid
WHERE A.Activityid = 10
'  
, 'Activityid, Activity, Time'
, 'key'
, 'value'
, 'max'
, 'SESSION.PIVOT'
, '-'
, ?, ?, ?
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM