---
title: "skapa hjälptabell"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/73252-skapa-hjälptabell"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "celia"
published: "2003-04-05T18:36:45.000Z"
updated: "2003-04-05T21:45:55.000Z"
replies: 5
views: 328
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/73252-skapa-hjälptabell"
---

# skapa hjälptabell

## #1 — celia, 2003-04-05T18:36Z

Jag har en tabell main:

main_id (räknare)
land
.
.
.

Nu vill jag ta bort kolumnen land och lägga den i en ny tabell där varje land får ett unikt id:

land_id (räknare)
land

```
INSERT INTO land (land)
SELECT distinct(land) FROM main
```

och sedan skapa en hjälptabell main_land:

main_id
land_id

Man hämtar main_id från main och land_id från land, där main.land = land.land. Men hur ser INSERT INTO-koden ut? Kan man skriva såhär:

```
INSERT INTO main_land (main_id, land_id)
SELECT main.id, land.id
FROM main, land
WHERE main.land = land.land
```

Det verkar fungera men blir det rätt? Ska man använda INNER JOIN istället, eller är det samma sak? Flera poster i main kan ju ha samma värde på land. 

```
INSERT INTO main_land (main_id, land_id)
SELECT main.id, land.id
FROM main
INNER JOIN land
ON main.land = land.land
```

Jag använder SQL Server.

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

## #2 — LarsG, 2003-04-05T18:57Z

Blir det rätt?

Ja.

Är det någon skillnad mellan frågorna?

Nej.

Varför en hjälptabell? Kommer en entitet i main att relateras till flera olika länder?

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

## #3 — celia, 2003-04-05T20:42Z

> **LarsG skrev:**
>
> Varför en hjälptabell? Kommer en entitet i main att relateras till flera olika länder?

Japp :)

Tack för hjälpen!

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

## #4 — Mr. N., 2003-04-05T21:36Z

Egentligen borde du väl ha en till tabell mellan? För flera entiteter kan väl vara kopplade till flera länder?

Alltså: Bengt bor i Israel och ibland i Turkiet. Men i Turkiet bor även Rolf.

Personer
Namn = Bengt, ID = 1
Namn = Rolf, ID = 2

Landrelationer
uniktID = 1, personID = 1, landID = 1
uniktID = 2, personID = 1, landID = 2
uniktID = 3, personID = 2, landID = 2

Land
ID = 1, namn = Israel
ID = 2, namn = Turkiet

Eller är jag ute på cykeltur?

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

## #5 — celia, 2003-04-05T21:40Z

Du är både ute och cyklar och inte ;)

Jag har två tabeller med en hjälptabell emellan precis som du skrivit!

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

## #6 — Mr. N., 2003-04-05T21:45Z

Oh... ;)

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/73252-skapa-hjälptabell
