想通过ETL对某个表的数据进行处理:
例如:
Customer表
CustomerID,Sex,Age,...
C0001,Male,20,...
C0002,Female,22,...
...另外一个表dimSex
ID,Sex
0,Female
1,Male现在想要将Customer表里的数据加载到dimCustomer表中
CustomerID,SexID,AgeID,...本来我是想:
Insert into dimCustomer select CustomerID,(case sex when 'Male' then 1 else 0 end),...
但同事说最好不要写这样的语句,而是利用SQL2005建立ETL把这两个表关联起来处理,但我没想出这个ETL怎样去建.
例如:
Customer表
CustomerID,Sex,Age,...
C0001,Male,20,...
C0002,Female,22,...
...另外一个表dimSex
ID,Sex
0,Female
1,Male现在想要将Customer表里的数据加载到dimCustomer表中
CustomerID,SexID,AgeID,...本来我是想:
Insert into dimCustomer select CustomerID,(case sex when 'Male' then 1 else 0 end),...
但同事说最好不要写这样的语句,而是利用SQL2005建立ETL把这两个表关联起来处理,但我没想出这个ETL怎样去建.
CustomerID与ID一一对应?如果是这样的话第二表没有存在的意义
而做这种数据同步和迁移,用SQL2005的DTS工具,其实是在 sql server 2000就是DTS,按照DTS来新建任务,拆分数据源就可以了。
Insert into dimCustomer select c.CustomerID,s.ID,... from Customer c,dimSex s where c.sex=s.sex其实就是这样..因为对ETL不熟,不知道怎么来建
ETL也确如那篇博文所说的那样建,
但没有涉及到我发的问题。我目前还是使用SQL语句来处理的,
顶一下看看有没有人处理过这样的问题。