<?xml version="1.0" encoding="UTF-8" ?>
|
|
<sqls>
|
<dataSpace name="agg">
|
|
<sql name="initLines">
|
insert into @{tablename} (@{toFields})
|
select @{fromFields} from @{source_tablename}
|
where @{filter}
|
</sql>
|
|
<sql name="getDimensionData">
|
select @{fields} from @{tablename}
|
where @{filter}
|
@{groupby}
|
</sql>
|
|
<sql name="getGroupData">
|
select @{fields} from @{tablename}
|
@{groupby}
|
where @{filter}
|
</sql>
|
|
<sql name="updateAggData">
|
update @{tablename} a
|
left join (select @{fields} from @{source_tablename} where @{dataFilter} @{groupby} ) a1 on @{join_segment}
|
set @{update_segment}
|
where @{filter}
|
</sql>
|
|
<sql name="updateAchieveData">
|
update @{tablename} a
|
set @{update_segment}
|
where @{filter}
|
</sql>
|
|
<sql name="updateAggDataByAgg">
|
update @{tablename} a
|
left join (select * from @{tablename} where @{join_filter}) a1 on @{join_segment}
|
set @{update_segment}
|
where @{filter}
|
</sql>
|
|
<sql name="updateContributionDataByAgg">
|
update @{tablename} a
|
left join (select @{fields} from @{tablename} @{groupby}) a1 on @{join_segment}
|
set @{update_segment}
|
where @{filter}
|
</sql>
|
|
<sql name="updateRankData">
|
update @{tablename} a
|
left join (
|
select id,
|
if(@groupField = @{groupFieldsConcat}, @row_number := @row_number + 1, @row_number := 1) rank_number,
|
@groupField := @{groupFieldsConcat} AS groupField
|
FROM @{tablename} ,
|
(select @row_number := 0, @groupField := null) as t
|
where 1=1
|
@{orderBy} ) a1 on a.id = a1.id
|
set @{update_segment}
|
where @{filter}
|
</sql>
|
|
<sql name="updateSupplementaryData">
|
update @{tablename} a
|
left join (@{source_tablename}) a1 on @{join_segment}
|
set @{update_segment}
|
where @{filter}
|
</sql>
|
|
</dataSpace>
|
</sqls>
|