Avatar billede mikkelbm Nybegynder
26. november 2010 - 10:20 Der er 4 kommentarer og
1 løsning

Temp tabel - multiple select

Hej,

Jeg er stødt ind i et problem jeg ikke lige kan kringle.

Jeg har 2 forskellige SQL statements der har samme resultset. Derfor troede jeg at jeg kunne "selecte" begge statements "into" samme temp-tabel.
Men jeg får en:
"There is already an object named '#temp' in the database." fejl.

Det er måske også fair nok, men hvordan kan jeg komme udenom det? Jeg er ikke interesseret i en "fysisk" tabel...

Dummy eksempel på problemet (som også giver problemet):

SELECT 1 as column1, 2 as column2, 3 as column3 into #temp
SELECT 2 as column1, 3 as column2, 4 as column3 into #temp

På forhånd tak!
Avatar billede Slettet bruger
26. november 2010 - 10:30 #1
Hvad med APPEND?
Avatar billede mikkelbm Nybegynder
26. november 2010 - 10:44 #2
Fandt selv løsningen:

SELECT 1 as column1, 2 as column2, 3 as column3 into #temp
INSERT INTO #temp SELECT 2 as column1, 3 as column2, 4 as column3

:)
Avatar billede janus_007 Nybegynder
26. november 2010 - 12:25 #3
Eller:

SELECT 1 as column1, 2 as column2, 3 as column3 into #temp
union all
SELECT 2 as column1, 3 as column2, 4 as column3
Avatar billede NikolajHenrichsen Nybegynder
01. december 2010 - 01:28 #4
Svaret fra janus_007 med en UNION ALL er klart at foretrække. Det vil performe bedre, da SELECT INTO statements ikke bruger loggen, hvilket derimod INSERT INTO gør.
Avatar billede mikkelbm Nybegynder
01. december 2010 - 18:09 #5
Ja okay.

Tak for det hint!
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