---
title: "hämta värde från annan tabell och få som kolumn i en annan tabell"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/128222-hämta-värde-från-annan-tabell-och-få-som-kolumn-i-en-annan-tabell"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Addeladde"
published: "2005-05-14T13:58:18.000Z"
updated: "2005-05-14T17:36:32.000Z"
replies: 4
views: 317
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/128222-hämta-värde-från-annan-tabell-och-få-som-kolumn-i-en-annan-tabell"
---

# hämta värde från annan tabell och få som kolumn i en annan tabell

## #1 — Addeladde, 2005-05-14T13:58Z

Hej

jag har dessa tabeller:
\----------------------
**meny**
menyID
menyNamn
menyLank
menyHuvud
menyBildbehorig
menyBildejbehorig
\----------------------

\----------------------
**sidbehorighet**
menyID
sida
projektanvandarTyp
behorighet
\----------------------

Nu vill jag ur tabellen sidbehorighet ta bort menyID och skriva om denna sql-fråga så att jag kan i mitt recordsett se om jag är behörig att visa en viss menypost. När jag loopar igenom mitt recordsett vill jag sedan kunna kolla om behorighet är lika med 1 för behörig eller 0 för icke behörig.

```
sqlString = "Select m.menyID, m.menyHuvud, m.menyNamn, m.menyLank, m.menyTarget, m.menyBild, m.menyBildGray, s.behorighet as menyBehorighet " &_ 
    "From meny as m, sidBehorighet as s " &_
	"Where (InStr(1,m.menyLank,s.sida) > 0 " &_
	"Or m.menyLank is NULL) " &_
	"And m.menyID = s.menyID " &_
	"And s.projektAnvandareTyp = "& fixaTecken(Session("projektAnvandareTyp")) &" " &_
	"Order By m.menySortering ASC"
	sqlListaMeny = sqlString
```

Den ska alltså gå igenom menyn post för post och kolla om menyLank finns i sida på sidbehorighetstabellen. De behöver inte överensstämma helt utan instr ska användas för jämförelsen.

Ifall sidan finns behorighetstabellen och min användartyp har behorigheten 1 då ska ett fält behorghet sättas till 1 annars ska det fältet sättas till 0.

Alltså jag vill när jag loopar igenom menyn kunna göra jämförelsen:

```
while not menyRS.Eof
  if menyRS("behorighet") = 1 Then
   'visa menyn
  Else
  'Visa inte menyn
 End If
 menynRS.MoveNext
Wend
```

Förstår ni?

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

## #2 — LarsG, 2005-05-14T16:50Z

> Förstår ni?

Njae.

> De behöver inte överensstämma helt utan instr ska användas för jämförelsen.

Att bygga en datamodell på den typen av samband är aldrig bra. Det kommer att bli hur segt som helst om det är lite datamängder.

Varför lägger du inte till villkoret

```
behorighet = 1
```

direkt i sql-frågan?

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

## #3 — Addeladde, 2005-05-14T17:28Z

> **LarsG skrev:**
>
> Varför lägger du inte till villkoret
>
>
> ```
> behorighet = 1
> ```
>
> 
> direkt i sql-frågan?

Jag vill gråmarkera menyn ifall behörighet inte finns.

Jag vill med sidbehorighetstabellen även kontrollera behorighet för sidor som även inte finns i menyn.

Anledningen till att jag vill använda instr är för att i behörighetstabellen så är det en relativsökväg som står men i menyn så kan en absolut sökväg stå.

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

## #4 — LarsG, 2005-05-14T17:33Z

Vad är problemet då, frånsett att du nog behöver en typkonvertering

```
if clng(menyRS("behorighet")) = 1 Then
```

?

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

## #5 — Addeladde, 2005-05-14T17:36Z

Alltså sql-satsen och så fungerar nu som den är men jag vill plocka bort menyID ur sidbehorighets-tabellen eftersom sida och lank redan håller reda på kopplingen mellan de två tabellerna.
Problemet är bara att ja vill kunna se om behorigheten antingen är 0 eller 1 sedan när jag lopar igenom menyn

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/128222-hämta-värde-från-annan-tabell-och-få-som-kolumn-i-en-annan-tabell
