如何在oracle中从单行创建另一行? 假设,我有一个表CALLTEST。
数据集就像:
call_id PARENT_CALL OWNER ACCOUNT_ID PARENT_CL_OWNER
C3 P3 O4 HCP2 O5
C2 P2 O3 HCP1 O6
我必须从每个数据创建另一个数据,因此需要生成总共4个数据集。条件是:
所有者字段
ACCOUNT_ID需要使用空值更新第二个 记录。
数据集将是这样的:
call_id PARENT_CALL OWNER ACCOUNT_ID PARENT_CL_OWNER
C3 P3 O5 HCP2 O5
C3_1 P3 O5 O6
C2 P2 O6 HCP1 O6
C2_1 P2 O6 O6
所以请帮助确切的sql查询或程序块来实现这个场景。
答案 0 :(得分:1)
SELECT call_id,
parent_call,
parent_cl_owner owner,
account_id,
parent_cl_owner
FROM calltest
UNION ALL
SELECT call_id || '_1',
parent_call,
parent_cl_owner,
NULL,
parent_cl_owner
FROM calltest
ORDER BY call_id