---
title: "Hämta från olika tabeller?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/130898-hämta-från-olika-tabeller"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "streetrobban"
published: "2005-07-02T17:43:43.000Z"
updated: "2005-07-03T19:24:37.000Z"
replies: 16
views: 515
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/130898-hämta-från-olika-tabeller"
---

# Hämta från olika tabeller?

## #1 — streetrobban, 2005-07-02T17:43Z

Hej, jag har följande två tabeller:

**Bilmärken**
id, bilmärke

**Bilmodeller**
id, id_bilmärke, bilmodell

Nu vill jag hämta en lista på samtliga bilmodeller med tillhörande bilmärke från tabellen Bilmodeller. Så jag måste med hjälp av ID't från bilmodeller.id_bilmärke hämta namnet på bilmärket från bilmärken.bilmärke.

Hoppas jag inte förvirrar er för mycket :) Finns det något enkelt sett att lösa detta på?

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

## #2 — @nders, 2005-07-02T17:47Z

```
SELECT bilmärken.bilmärke, bilmodeller.bilmodell FROM bilmärken INNER JOIN bilmodeller ON bilmärken.id = bilmodeller.id_bilmärke ORDER BY bilmärken.bilmärke, bilmodeller.bilmodell
```

mvh

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

## #3 — streetrobban, 2005-07-02T18:42Z

Tack för ditt svar @nders!

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

## #4 — streetrobban, 2005-07-03T12:26Z

Jag måste bumpa den här tråden lite då jag har en till fråga.

Så här ser mina tabeller ut:

**bilmärken**
id, bilmärke

**bilmodeller**
id, bilmodell, id_bilmärke

**kategorier_biltillbehör**
id, kategorinamn

**produkter_biltillbehör**
id, produktnamn, id_bilmodell, id_bilmärke, bild, beskrivning, pris, id_kategori, tid, datum

Och nu vill jag hämta en produkt. Och varje produkt innehåller ju tre olika id nummer som måste hämtas från tre olika tabeller. Hur gör jag det? Jag måste alltstå hämta:

bilmärken.bilmärke m.h.a produkter_biltillbehör.id_bilmärke

bilmodeller.bilmodell m.h.a. produkter_biltillbehör.id_bilmodell

kategorier_biltillbehör.kategorinamn m.h.a. produkter_biltillbehör.id_kategori

Jag undrar även om det går att hämta från en annan tabell samtidigt som man loopar ut resultat. Har provat detta lite, men när man öppnar en ny tabell avbryts ju loopen.

Tack på förhand!

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

## #5 — Niklasson, 2005-07-03T14:07Z

Tråden flyttas från PHP..

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

## #6 — LarsG, 2005-07-03T14:22Z

```
select b.bilmärke ,
bm.bilmodell, 
kb.kategorinamn,
p.produktnamn
from produkter_biltillbehör  as pb
inner join kategorier_biltillbehör as kb on pb.id_kategori = kb.id
inner join bilmodeller as bm on pb.id_bilmodell = bm.id
inner join bilmärken as b on pb.id_bilmärke = b.id
```

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

## #7 — streetrobban, 2005-07-03T15:46Z

LarsG: Har du förkortat tabellnamnen för enkelhetens skull eller ska det skrivas så där?

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

## #8 — LarsG, 2005-07-03T15:50Z

För enkelhets skull. Du kan använda det fullständiga namnet men om du har angett ett kortnamn så måste du använda det.

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

## #9 — streetrobban, 2005-07-03T16:12Z

Ok. Men om tabellen heter sns_bilmodeller kan jag använda ett kortnamn då?

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

## #10 — LarsG, 2005-07-03T16:15Z

Jo visst, självklart eller så förstår jag inte vad som är problemet.

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

## #11 — streetrobban, 2005-07-03T16:19Z

Jaha, nu såg jag att du "döpte" alla förtkortningar. :)

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

## #12 — streetrobban, 2005-07-03T17:32Z

Jag får det inte att funka riktigt. Så här ser koden jag använder ut.

```php
SELECT b.bilmärke,
bm.bilmodell, 
kb.kategorinamn,
p.produktnamn
FROM sns_produkter_biltillbehör AS pb
INNER JOIN sns_kategorier_biltillbehör AS kb ON pb.id_kategori = kb.id
INNER JOIN sns_bilmodeller AS bm ON pb.id_bilmodell = bm.id
INNER JOIN sns_bilmärken AS b ON pb.id_bilmärke = b.id
```

Tabellerna heter sns\_ etc...

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

## #13 — @nders, 2005-07-03T17:36Z

på vilket sätt funkar det inte riktigt?
Felmeddelande?

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

## #14 — streetrobban, 2005-07-03T18:40Z

Felmeddelandet är det enda som skrivs ut:

```
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/kunder/sidan/admin/andra2.php on line 110
```

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

## #15 — @nders, 2005-07-03T18:43Z

du borde ju kunna få något MySQL-fel som talar om någonting om SQL-frågan? Skriver du ut mysql_error()?

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

## #16 — streetrobban, 2005-07-03T18:48Z

Jag ändrade SQL Satsen till följande. Nu skriver den ut sns_produkter_biltillbehör.produktnamn men inget annat.

```
SELECT sns_bilmärken.bilmärke, sns_bilmodeller.bilmodell, sns_kategorier_biltillbehör.kategorinamn, sns_produkter_biltillbehör.produktnamn FROM sns_produkter_biltillbehör AS sns_produkter_biltillbehör
				INNER JOIN sns_kategorier_biltillbehör ON sns_produkter_biltillbehör.id_kategori = sns_kategorier_biltillbehör.id
				INNER JOIN sns_bilmodeller  ON sns_produkter_biltillbehör.id_bilmodell = sns_bilmodeller.id
				INNER JOIN sns_bilmärken ON sns_produkter_biltillbehör.id_bilmärke = sns_bilmärken.id WHERE sns_produkter_biltillbehör.id = '$id'
```

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

## #17 — streetrobban, 2005-07-03T19:24Z

Nu fick jag det att funka...

```php
SELECT sns_bilmärken.bilmärke, sns_bilmodeller.bilmodell, sns_kategorier_biltillbehör.kategorinamn, sns_produkter_biltillbehör.produktnamn, sns_produkter_biltillbehör.bild, sns_produkter_biltillbehör.beskrivning, sns_produkter_biltillbehör.pris, sns_produkter_biltillbehör.tid, sns_produkter_biltillbehör.datum FROM sns_bilmärken
INNER JOIN sns_produkter_biltillbehör ON sns_produkter_biltillbehör.id_bilmärke = sns_bilmärken.id
INNER JOIN sns_bilmodeller ON sns_produkter_biltillbehör.id_bilmodell = sns_bilmodeller.id
INNER JOIN sns_kategorier_biltillbehör ON sns_produkter_biltillbehör.id_kategori = sns_kategorier_biltillbehör.id WHERE sns_produkter_biltillbehör.id = '$id'
```

Tack för hjälpen!

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/130898-hämta-från-olika-tabeller
