---
title: "Två JOIN?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/21623-två-join"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Swey"
published: "2001-09-25T14:17:00.000Z"
updated: "2001-09-25T16:00:00.000Z"
replies: 6
views: 243
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/21623-två-join"
---

# Två JOIN?

## #1 — Swey, 2001-09-25T14:17Z

Det var ett tag sen jag höll på med SQL. Vad är det för fel här?

```
SELECT Customers.Name, Products.Product, Orders.Delievered
FROM Orders
INNER JOIN Customers
ON Orders.Customer = Customers.ID
INNER JOIN Products
ON Orders.Product = Products.ID
```

Orders är alltså en tabell med kunder och produkter i form av nummer. Kundernas och produkternas namn finns i två andra tabeller.

Detta fungerar dock inte. En INNER JOIN fungerar men inte två efter varandra.

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

## #2 — LarsG, 2001-09-25T14:24Z

Vad är problemet? Blir det något felmeddelande? Det är i alla fall inget syntaktiskt fel i koden.

Vilken DBMS använder du? Access/JET har några (icke standardmässiga)  restriktioner hur man får skriva om man har flera join. Det kan behövas lite extra parenteser för att det skall godkännas av JET

```
SELECT Customers.Name, Products.Product, Orders.Delievered
  FROM ( Orders INNER JOIN Customers ON Orders.Customer = Customers.ID )
              INNER JOIN Products ON Orders.Product = Products.ID
```

tex.

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

## #3 — Swey, 2001-09-25T14:46Z

Tack, för svaret.
Ja, det blir ett felmeddelande på FROM-satsen, och jag använder Access.

Det fungerade! Men det verkar jobbigt att man måste skriva parenteser. Hur gör man det med tre JOINs?

Varje kund kommer från ett land lagrad i en fjärde tabell.

```
SELECT Customers.Name, Countries.Country Products.Product, Delievered
FROM Orders
INNER JOIN Customers
ON Orders.Customer = Customers.ID
INNER JOIN Products
ON Orders.Product = Products.ID
INNER JOIN Countries
ON Customers.Country = Countries.ID
```

Om jag får detta löst, förstår jag nog hur jag gör med fyra JOINs också. :)

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

## #4 — LarsG, 2001-09-25T14:56Z

Det är väl samma metodik där

```
SELECT Customers.Name, Countries.Country Products.Product, Delievered
FROM ((Orders
INNER JOIN Customers
ON Orders.Customer = Customers.ID)
INNER JOIN Products
ON Orders.Product = Products.ID)
INNER JOIN Countries
ON Customers.Country = Countries.ID
```

red: rättning av parentesfel

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

## #5 — LarsG, 2001-09-25T14:59Z

Så länge det gäller inner join så kan man ju skriva

```
SELECT Customers.Name, Countries.Country Products.Product, Delievered
FROM Orders,Customers,
Products,Countries
where Orders.Customer = Customers.ID
and Orders.Product = Products.ID
and Customers.Country = Countries.ID
```

så slipper man parenteser

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

## #6 — Swey, 2001-09-25T15:04Z

"Så länge det gäller inner join så kan man ju skriva"
Jo, så kan man ju skriva. Men jag gör det här för att lära mig just INNER, LEFT och RIGHT JOIN, så jag vill inte skriva så. :)

"Det är väl samma metodik där"
Tack, fast (( skulle väl vara före Orders och inte efter?

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

## #7 — LarsG, 2001-09-25T16:00Z

> Tack, fast (( skulle väl vara före Orders och inte efter?

Jo visst skall dom vara innan orders

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/21623-två-join
