0

具有 OETiColours 列的产品表,该列具有 comm separeted ColourId's

ProdName            OETiColours
Prod1       2, 5, 4, 1
Prod2               2,4,3

颜色表有颜色名称

ColourId  ColourName
1       Dark Brown
2       Gold
4       Yellow
5       Red
3       Gunmetal

使用 SSIS 我想创建一个源

ProdName            OETiColours
Prod1             Gold,Yellow,Gunmetal
Prod2             Gold, Red, Yellow, Dark Brown

基本上我想用颜色名称替换颜色 ID。如何做到这一点?

提前致谢。

4

2 回答 2

0

我尝试使用下面的 Sql 查询

声明@Product 表

(

pname varchar(50),

oetclr varchar(40)

)

插入@Product 值

('prod1','2,5,4,1'),

('prod2','2,4,3')

从@Product 中选择 *

声明 @color 表 ( colorid int, colorname varchar(50) )

插入@color 值

(1,'分贝'),

(2,'黄金'),

(4,'黄色'),

(5,'红色'),

(3,'gm')

从@color中选择*

选择不同的 pname,clr=

案例 oetclr

当 '2,5,4,1' 然后是 'gold,red,yellow,db'

当 '2,4,3' 然后是 'gold,yellow,gm'

结尾

来自@Product,@color

于 2013-07-02T11:03:55.687 回答
0

您可以在 sql select 中执行以下操作:

REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(OETiColours,'1', 'Dark Brown'), '2', 'Gold'), '3', 'Gunmetal'), '4', 'Yellow'), '5', 'Red')

您可以在Derived Column元素中执行相同的操作,只需将单个 qoutes 替换'为 double qoutes"

于 2013-07-02T19:18:10.417 回答