---
title: "Problem med SQL-fråga och temptabell"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/150490-problem-med-sql-fråga-och-temptabell"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "spaceuser"
published: "2006-08-24T11:58:55.000Z"
updated: "2006-08-24T12:51:01.000Z"
replies: 3
views: 527
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/150490-problem-med-sql-fråga-och-temptabell"
---

# Problem med SQL-fråga och temptabell

## #1 — spaceuser, 2006-08-24T11:58Z

Hej!

Använder SQLServer 2000 på en Win 2003 server som jag vill ska skriva svaret i en tom tabell (korplan_temp1). Jag ställer följande fråga:

select \* into korplan_temp1 from korplan inner join prodalternativ on (korplan.mfno = prodalternativ.tonr) 
where (korplan.trans=1 and korplan.plgr='110' and korplan.infrakttid \> DATEADD("dd", -8, getdate()))

Efter testkörning i SQL Query Analyzer får jag då följande felmeddelande:
Server: Msg 2705, Level 16, State 3, Line 1
Column names in each table must be unique. Column name 'ID' in table 'korplan_temp1' is specified more than once.

Tabellen korplan_temp1 är en identisk kopia av korplan. Jag har provat med att döpa om första tabellfältet till annat än ID, men ger ändå samma fel. Känner mig helt borta. Är därför väldigt tacksam i fall någon omedelbart ser vad för fel jag gjort. Tar jag bort "into korplan_temp1" i frågan ovan så erhåller jag ett svar på 85 poster, så data finns, men jag vill spara det i en temptabell för ytterligare frågor.

Tackar på förhand!

Lasse

Permalänk: https://www.webforum.nu/p/150490

## #2 — @nders, 2006-08-24T12:03Z

Jag skulle gissa på att det finns ett fält som heter ID både i *korplan* och *prodalternativ*. Du får helt enkelt räkna upp alla fältnamn i SELECT, och inte ha med båda ID-fälten (eller ge ett av dem ett nytt alias).

edit: eller om det bara är fält från korplan du vill ha, byt \* mot *korplan.\** i SELECT.

\- - - - - 

Välkommen till webForum! :bire

Mvh

Permalänk: https://www.webforum.nu/p/1858056

## #3 — LarsG, 2006-08-24T12:12Z

Om du använder select into så skapas en ny tabell. I den tabellen ingår alla kolumner i selectlistan. Då du använder \* får du med alla kolumner i både korplan och prodalternativ och felmeddelandet indikerar att det finns en kolumn som heter id i båda tabellerna. Generellt, använd aldrig \* i ett produktionssystem utan specificera alltid de kolumner du vill ha.
Om du inte vill skapa en ny tabell så använd syntaxen

```
insert into korplan_temp1 select ...
```

Permalänk: https://www.webforum.nu/p/1858059

## #4 — spaceuser, 2006-08-24T12:51Z

Det är strålande  (y) 

> byt \* mot korplan.\* i SELECT

Nu funkar det precis som jag vill

STORT TACK!

Permalänk: https://www.webforum.nu/p/1858072

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/150490-problem-med-sql-fråga-och-temptabell
