sql >> Databasteknik >  >> RDS >> Sqlserver

SSIS - Utföra en sökning på en annan tabell för att få relaterad kolumn

Egentligen är detta ett fall för Lookup. Det verkar som om du vill göra en sökning efter namn och retur-id. Ganska enkelt. Så här skapade jag ett exempel på detta:

  1. Dra en dataflödesuppgift till designytan. Dubbelklicka på den för att växla till den.
  2. Skapa en anslutningshanterare för min databas
  3. Dra till designytan:
    • en OLE DB-källa
    • En uppslagstransform
    • En OLE DB-destination
  4. Anslut källan till sökningen till destinationen. Det är "Lookup Match Output" vi vill ska gå till destinationen. Se figur 1.
  5. Konfigurera källan. Min källtabell hade bara id- och namnkolumner.
  6. Konfigurera uppslagningen
    • fliken Allmänt:Använd en OLE DB-anslutning
    • Fliken Anslutning:ange samma anslutning, men använd uppslagstabellen. Min uppslagstabell var bara id och namn, men namnet gjordes unikt, så det är bättre att använda som en uppslagskolumn.
    • På fliken kolumner konfigurerar du namn för att mappa till namn, med "id" som utdata. Konfigurera uppslagsoperationen att vara "lägg till ny kolumn" och namnge den kolumnen "lookupId". Se figur 2.
    • Ignorera de andra två flikarna
  7. Konfigurera utdata för att ta alla tre kolumner. Se figur 3.

Det är allt. För varje rad från källan kommer namnkolumnen att användas för att matcha namnkolumnen i uppslagstabellen. Varje matchning kommer att bidra med sin id-kolumn som den nya lookupId-kolumnen. Alla tre kolumnerna fortsätter till destinationen.

Bild 1:
Bild 2:
Bild 3:
>


  1. MySQL :Välj poster med villkor som gäller för flera rader

  2. Hur man stänger av mysql-fel från att visas på skärmen i CodeIgniter

  3. Undviker ORA-00955:namn används redan av ett befintligt objekt

  4. Exekvera omedelbart ändra användarbindningsvariabel