想通过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怎样去建.

解决方案 »

  1.   

    看不出这两表有任何的关联?
    CustomerID与ID一一对应?如果是这样的话第二表没有存在的意义
      

  2.   

    直接写sql语句导数的话,没有事务,不知道哪些数据成功迁移了,哪些不成功,信息的完整性就不好控制了。
    而做这种数据同步和迁移,用SQL2005的DTS工具,其实是在 sql server 2000就是DTS,按照DTS来新建任务,拆分数据源就可以了。
      

  3.   

    两星的人提出来的问题果真不一般啊……对两星的人咱就不敢妄言了……去SQL版去吧……http://www.developer.com/db/article.php/3497511http://www.busfly.cn/csdn/post/ETL-MS-SQL-DTS.html
      

  4.   


    Insert into dimCustomer  select c.CustomerID,s.ID,... from Customer c,dimSex s where  c.sex=s.sex其实就是这样..因为对ETL不熟,不知道怎么来建
      

  5.   

    谢谢你提供的资料,
    ETL也确如那篇博文所说的那样建,
    但没有涉及到我发的问题。我目前还是使用SQL语句来处理的,
    顶一下看看有没有人处理过这样的问题。