---
title: "Inner Joins..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/94400-inner-joins"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "DiDjo"
published: "2004-01-09T16:56:04.000Z"
updated: "2004-01-09T18:19:10.000Z"
replies: 3
views: 210
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/94400-inner-joins"
---

# Inner Joins...

## #1 — DiDjo, 2004-01-09T16:56Z

Hej! Chansar på att detta ska va i SQL forumet :)

```
sql = "SELECT topics.*, forums.*, statusname, statuslevel, moderator, gnamn.posts FROM (status INNER JOIN gaster ON status.statusid = gnamn.forumstat) INNER JOIN ((forums INNER JOIN moderators ON forums.forumid = moderators.moderatorforum) INNER JOIN topics ON forums.forumid = topics.forum) ON gaster.gnamn = topics.by WHERE topics.id = " & id
Set rsRoot = Server.CreateObject("ADODB.Recordset")
rsRoot.Open sql, conn, 3, 3
```

Får detta fel på den koden:

```
Microsoft JET Database Engine error '80040e14' 

Syntax error in JOIN operation. 

/kommun/forum/forum_las.asp, line 33
```

Har haft samma fel förut, antagligen för gaster och gnamn ligger fel i koden... gaster är en tabell, gnamn en kolumn :)

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

## #2 — LarsG, 2004-01-09T17:37Z

Då access har så konstiga regler för  multipla join så är det enklare att ange join-villkoren i where.

```
SELECT topics.*, forums.*, statusname, statuslevel, moderator, gaster.posts 
FROM status, gaster, forums, moderators,topics
where status.statusid = gaster.forumstat
and forums.forumid = moderators.moderatorforum
and forums.forumid = topics.forum
and gaster.gnamn = topics.by 
and topics.id = " & id
```

annars

```
SELECT topics.*, forums.*, statusname, statuslevel, moderator, gaster.posts 
from (((status inner join gaster on status.statusid = gaster.forumstat)
inner join topics on gaster.gnamn = topics.by )
inner join forums on topics.forumid = forums.forum )
inner join moderators on forums.forumid = moderators.moderatorforum
where topics.id = " & id
```

Med reservation för felaktiga tabellnamn/kolumnnamn. (Jag bytte alla förekomster av tabellnamnet gnamn till gaster.)

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

## #3 — @nders, 2004-01-09T17:38Z

Utan att ha lusläst din kod tycker jag det är ganska skumt att du försöker joina in en tabell utan att ha med den i joinvillkoret?

```
...status INNER JOIN [b]gaster[/b] ON [b]status[/b].statusid = [b]gnamn[/b].forumstat...
```

Edit: LarsG invalidifierar mitt inlägg, i vanlig ordning. ;)

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

## #4 — DiDjo, 2004-01-09T18:19Z

@nders... Jag vet inte riktigt hur det ser ut, jag håller på att göra om mitt gamla forum, så det passar nya! Alla tabeller är lika, utom "gaster" och kolumnen "gnamn", i den gamla hetter tabellen anv och kolumnen anv, så det är svårt att veta vilken som ska vart... :)

LarsG: Den första koden fungerar! Sen var det en till nästan lika SQL rad... men den fick vara! För nu vet jag vilken som är tabell och kolumn i koden :e 

Tack så mycket  till er båda :)

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/94400-inner-joins
