Avatar billede eaglee Nybegynder
27. januar 2012 - 14:11 Der er 1 kommentar og
1 løsning

SSIS problem med Lookup Transformation

Hej.

Jeg sidder med på en SQL 2005 server og er ved at lave en fil import.
Jeg skal så i det forløb tjekke om en record som jeg er ved at importerer er i basen i forvejen, det kan man jo gøre med Lookup Transformation componenten.

Mit problem er nu at jeg skal kigge i flere tabeller og lave union.

mit sql scrip ser sådan ud:

SELECT  [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[DIBS DK$Transaction Entry] (NOLOCK)
where [Transaction No_] = and [Transaction DateTime]=
union
SELECT  [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[DIBS GO$Transaction Entry] (NOLOCK)
union
SELECT  [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[DIBS NO$Transaction Entry] (NOLOCK)
union
SELECT  [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[DIBS STO$Transaction Entry] (NOLOCK)
union
SELECT  [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[Konsolideret$Transaction Entry] (NOLOCK)
union
SELECT  [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[Koncern$Transaction Entry] (NOLOCK)
union
SELECT  [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[Unicore$Transaction Entry] (NOLOCK)

og det bliver så oversat til:

select * from
SELECT  [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[DIBS DK$Transaction Entry] (NOLOCK)
union
SELECT  [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[DIBS GO$Transaction Entry] (NOLOCK)
union
SELECT  [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[DIBS NO$Transaction Entry] (NOLOCK)
union
SELECT  [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[DIBS STO$Transaction Entry] (NOLOCK)
union
SELECT  [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[Konsolideret$Transaction Entry] (NOLOCK)
union
SELECT  [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[Koncern$Transaction Entry] (NOLOCK)
union
SELECT  [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[Unicore$Transaction Entry] (NOLOCK)) as refTable
where [refTable].[Transaction DateTime] = ? and [refTable].[Transaction No_] = ?

men i min bog skulle det se sådan ud:

select * from
SELECT  [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[DIBS DK$Transaction Entry] (NOLOCK)
where [refTable].[Transaction DateTime] = ? and [refTable].[Transaction No_] = ?
union
SELECT  [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[DIBS GO$Transaction Entry] (NOLOCK)
where [refTable].[Transaction DateTime] = ? and [refTable].[Transaction No_] = ?
union
SELECT  [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[DIBS NO$Transaction Entry] (NOLOCK)
where [refTable].[Transaction DateTime] = ? and [refTable].[Transaction No_] = ?
union
SELECT  [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[DIBS STO$Transaction Entry] (NOLOCK)
where [refTable].[Transaction DateTime] = ? and [refTable].[Transaction No_] = ?
union
SELECT  [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[Konsolideret$Transaction Entry] (NOLOCK)
where [refTable].[Transaction DateTime] = ? and [refTable].[Transaction No_] = ?
union
SELECT  [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[Koncern$Transaction Entry] (NOLOCK)
where [refTable].[Transaction DateTime] = ? and [refTable].[Transaction No_] = ?
union
SELECT  [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[Unicore$Transaction Entry] (NOLOCK)) as refTable
where [refTable].[Transaction DateTime] = ? and [refTable].[Transaction No_] = ?

Det går så heller ikke da hvert spørgsmålsteg skal mappes til en parameter så har jeg prøvet at assigen ? til en variablen men det kan man heller ikke...

Så hvad gør jeg så for at få lavet om den record jeg er ved at importerer er der i forvejen?

man kunne selvfølgelig lave en lookup pr. tabel men det er ikke den løsning jeg er ude efter.
Avatar billede eaglee Nybegynder
29. januar 2012 - 08:53 #1
Lukker denne.
Avatar billede janus_007 Nybegynder
29. januar 2012 - 11:07 #2
akk ja.. SSIS, hmm... på en gang både godt og skidt, desværre oftere skidt :-)

Men lav et view .
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester