Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SSIS - Извършване на търсене на друга таблица за получаване на свързана колона

Всъщност това е случай за Lookup. Изглежда, че искате да направите търсене по име и да върнете идентификатор. Доста просто. Ето как създадох пример за това:

  1. Плъзнете задача за поток от данни върху повърхността за проектиране. Щракнете двукратно върху него, за да превключите към него.
  2. Създаване на мениджър на връзки за моята база данни
  3. Плъзнете върху повърхността за проектиране:
    • източник на OLE DB
    • Трансформация за търсене
    • Дестинация на OLE DB
  4. Свържете източника към търсенето към дестинацията. Това е „Изходът за търсене на съвпадение“, който искаме да отидем до дестинацията. Вижте фигура 1.
  5. Конфигурирайте източника. Моята изходна таблица просто имаше колони за идентификатор и име.
  6. Конфигурирайте търсенето
    • Раздел Общи:Използвайте OLE DB връзка
    • Раздел "Връзка":посочете същата връзка, но използвайте справочната таблица. Моята справочна таблица беше само идентификатор и име, но името беше направено уникално, така че има по-добър смисъл като справочна колона.
    • В раздела с колони конфигурирайте име, което да се съпостави с име, с „id“ като изход. Конфигурирайте операцията за търсене да бъде „добавяне на нова колона“ и наименувайте тази колона „lookupId“. Вижте фигура 2.
    • Игнорирайте другите два раздела
  7. Конфигурирайте изхода да приема и трите колони. Вижте фигура 3.

Това е всичко. За всеки ред от източника колоната с име ще се използва, за да съответства на колоната с име на справочната таблица. Всяко съвпадение ще добави своята колона с id като новата колона lookupId. И трите колони ще продължат към дестинацията.

Фигура 1:

Фигура 2:

Фигура 3:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server, еквивалентен на ORACLE INSTR

  2. SQL Server 2008, различни клаузи WHERE с една заявка

  3. SQL Server трябва да разделя данните, но има само стандартно издание

  4. Запитване до голяма таблица в sql сървър 2008

  5. Как да избегнете, че мониторът на активността вреди на производителността на вашия SQL сървър