我有以下情况。
我以
的形式从外部系统获取数据UserId Group Value
1 Abc .....
1 Abc .....
1 Bcd .....
2 Abc .....
我需要将这些数据按到我的模式中,即
Parent Table
ID UserID Group Name
1 1 Abc User 1 - Abc data
2 1 Bcd User 1 - Bcd data
3 2 Abc User 2 - Abc data
Child Table
ParentID Value
1 .....
1 .....
2 .....
3 .....
因此,子数据与外部系统数据之间存在1比1的关系。 问题是我从子数据开始,需要编写一个查询,可以根据UserID和Group的不同组合创建父记录
答案 0 :(得分:1)
insert parent (userId, group, name)
select distinct userId, group, concat("user ", userId, " - ", group, " data")
from input_data;
(它有一个自动增量ID)
然后:
insert child (parentId, value)
select p.parentId, d.value
from parent p
inner join input_data d on p.user_id = d.user_id and p.group = d.group;
答案 1 :(得分:0)
需要编写一个可以根据UserID和Group
的不同组合创建父记录的查询
insert into parent(UserID, Group, Name)
select distinct
UserID,
Group, UserID,
'User ' || UserID || ' - ' || Group || ' data'
from raw_input_data;