0

Part_Number 列を持つ 1 つのデータ ソースがあります。

2 番目のデータ ソースには、Product_Family_ID、Product_ID、および Part_Mask があります。

mask は、part_number like mask のような式で使用されるパターン文字列です。たとえば、「NXA%」または「001-[abcd][456]9-121%」

通常、入手可能な製品パーツ マスクに基づいて製品ファミリの正当なパーツ番号を検索しますが、この場合は別の方向に進む必要があります。部品番号に基づいて、その製品ファミリ内のすべての関連製品を検索し、それを概要テーブルに保存する必要があります。

これを T-SQL でシミュレートします。

declare @partlist table (partnumber varchar(100))

insert into @partlist (partnumber) values ('nxampvg1')

select distinct pl.partnumber, match.Product_ID
from @partlist pl
join (  select m.masks, p.product_id from  MCS_ProductFamily_PartMasks m
    join Product p on m.ProductFamilyID = p.ProductFamily_ID) match
    on pl.partnumber like match.Masks

望ましい出力:

Part_Number Product_ID
----------- ----------
nxampvg1    15629
nxampvg1    15631
nxampvg1    15632
nxampvg1    15633
nxampvg1    15634
nxampvg1    15635
nxampvg1    15636
nxampvg1    15637
nxampvg1    15638
nxampvg1    15639

SSIS データ フロー タスクでこれを達成するにはどうすればよいですか?

4

1 に答える 1

1

2 つのデータ ソースを作成します。1 つはソース 1 からすべての部品番号を取得し、もう 1 つ select m.masks, p.product_id from MCS_ProductFamily_PartMasks m join Product p on m.ProductFamilyID = p.ProductFamily_ID はソース 2 から内部クエリを使用してすべての製品 ID、製品ファミリ、およびマスクを取得します。これらのデータ送信先は、同じ SQL サーバー上のステージング テーブルである必要があります。次に、例で述べたSQLの派生物を次のように使用します。select distinct pl.partnumber, match.Product_ID from STG_SOURCE_ONE pl join STG_SOURCE_TWO match on pl.partnumber like match.Masks

于 2013-08-19T19:03:21.950 に答える