假设有员工表
with a as (
select 1 id , '张三' name,'男' 性别,'销售1部' 部门 from dual union all
select 2 id , '李四' name,'男' 性别,'销售2部' 部门 from dual union all
select 3 id , '王五' name,'女' 性别,'销售1部' 部门 from dual
)
select * from a
假设有员工销售明细表
with b as (
select 1 userid , 'A' 产品代码 ,35 销售额 from dual union all
select 1 userid , 'B' 产品代码 ,31 销售额 from dual union all
select 2 userid , 'A' 产品代码 ,5 销售额 from dual union all
select 2 userid , 'B' 产品代码 ,9 销售额 from dual union all
select 2 userid , 'C' 产品代码 ,22 销售额 from dual
)
select * from b --where userid= 1
现在要用kettle实现如下效果
ID | NAME | 性别 | 部门 | USERID | 产品代码 | 销售额 |
1 | 张三 | 男 | 销售1部 | 1 | A | 35 |
1 | 张三 | 男 | 销售1部 | 1 | B | 31 |
2 | 李四 | 男 | 销售2部 | 2 | A | 5 |
2 | 李四 | 男 | 销售2部 | 2 | B | 9 |
2 | 李四 | 男 | 销售2部 | 2 | C | 22 |
以上效果是通过 sql语句生成的
with a as (
select 1 id , '张三' name,'男' 性别,'销售1部' 部门 from dual union all
select 2 id , '李四' name,'男' 性别,'销售2部' 部门 from dual union all
select 3 id , '王五' name,'女' 性别,'销售1部' 部门 from dual
),b as (
select 1 userid , 'A' 产品代码 ,35 销售额 from dual union all
select 1 userid , 'B' 产品代码 ,31 销售额 from dual union all
select 2 userid , 'A' 产品代码 ,5 销售额 from dual union all
select 2 userid , 'B' 产品代码 ,9 销售额 from dual union all
select 2 userid , 'C' 产品代码 ,22 销售额 from dual
)
select * from a, b where userid= id
kettle实现过程如下: