---
title: "en till flera relation"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/126474-en-till-flera-relation"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Mc Fetto"
published: "2005-04-15T15:00:54.000Z"
updated: "2005-04-16T17:25:13.000Z"
replies: 11
views: 427
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/126474-en-till-flera-relation"
---

# en till flera relation

## #1 — Mc Fetto, 2005-04-15T15:00Z

Jag har följande (ungefär ivf):

tPermission :

PermissionID \| Data1 \| Data2
\--------------------------------------------
1	     \| bla  \| bla  

tPermissionRow :

ID \| PermissionID \| RowNo \| To  \| From
\----------------------------------------------
1  \| 1            \| 1     \|some \| some 
2  \| 1            \| 2	  \|other\|other 

Alltså kan en Permission kan ha flera PermissionRow. I mitt fall (2 st)

Jag vill få ut följande :

Data1 \| Data2 \| To1 \| From1 \| To1 \| To2

där to och from med siffror är respektive från raderna i tPermissionRow.

Hur görs detta?

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

## #2 — @nders, 2005-04-15T15:04Z

Om du vill få ut det på det sättet är du fel ute. Resultatet borde bli en post per permissionrow, inte fler kolumner.

mvh

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

## #3 — Mc Fetto, 2005-04-15T15:05Z

Nej jag är inte fel ute! :)

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

## #4 — LarsG, 2005-04-15T15:59Z

Hantera det i presentationslagret, om du inte har access där du kan använda TRANSFORM.

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

## #5 — Mc Fetto, 2005-04-15T16:02Z

> **LarsG skrev:**
>
> Hantera det i presentationslagret, om du inte har access där du kan använda TRANSFORM.

Finns det ingen lösning mha sql då?

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

## #6 — LarsG, 2005-04-15T16:07Z

Jo, men om du skall hantera godtyckligt antal rader så blir det lite komplicerat och det går inte med alla DBMS heller.

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

## #7 — Mc Fetto, 2005-04-15T16:09Z

Nej, men om vi antar att det endast är två PermissionRow till en Permission.

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

## #8 — LarsG, 2005-04-15T17:10Z

```
select data1,data2, 
  r1.to as to1,r1.from as from1,
  r2.ro as to2,r2.from as from2
from tpermission p
 inner join tPermissionRow r1 on p.permissionid = r1.permissionid
 inner join tPermissionRow r2 on p.permissionid = r2.permissionid
where r1.rowNo = 1
and r2.rowNo = 2
```

heter kolumnerna from och to i verkligheten?

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

## #9 — Mc Fetto, 2005-04-15T17:18Z

> **LarsG skrev:**
>
> heter kolumnerna from och to i verkligheten?

Hehe, nej det gör de inte  :h 
Ska testa koden så fort jag har en installerad sql-server!
Tack så mycket :bire

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

## #10 — @nders, 2005-04-15T19:47Z

För mig betyder "flera" inte "två".

Men om man alltid har ett bestämt antal är det klart att man kan få in allt i samma post genom att joina in samma tabell x antal gånger. 

Mvh

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

## #11 — Mc Fetto, 2005-04-16T11:16Z

> **@nders skrev:**
>
> För mig betyder "flera" inte "två".
> 
> Men om man alltid har ett bestämt antal är det klart att man kan få in allt i samma post genom att joina in samma tabell x antal gånger. 
> 
> Mvh

Jo, kan medge att jag uttryckte mig lite fel. Men det borde ju bara vara att bygga upp sql-strängen dynamiskt för att kunna ta emot fler en till flera relation, om man gör en select count på PermissionsRow först och utifrån resultatet loopar fram satsen. Kanske inte korrekt?

Frågan LarsG gav, är den frågan korrekt för access? (sitter och testar lite mot den) har detta: 

```
select data1,data2, 
  r1.Tto as to1 ,r1.Ffrom as from1,
  r2.Tto as to2 , r2.Ffrom as from2
from Permissions p
 inner join PermissionsRow r1 on p.permissionid = r1.permissionid
 inner join PermissionsRow r2 on p.permissionid = r2.permissionid

where r1.rowNo = 1 and r2.rowNo = 2
```

Får syntax fel när jag har två join (fungerar ju meden)

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

## #12 — LarsG, 2005-04-16T17:25Z

```
select data1,data2, 
  r1.Tto as to1 ,r1.Ffrom as from1,
  r2.Tto as to2 , r2.Ffrom as from2
from (Permissions p
 inner join PermissionsRow r1 on p.permissionid = r1.permissionid)
 inner join PermissionsRow r2 on p.permissionid = r2.permissionid
where r1.rowNo = 1 and r2.rowNo = 2
```

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/126474-en-till-flera-relation
