---
title: "INNER JOIN problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/137836-inner-join-problem"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "streetrobban"
published: "2005-11-17T14:07:37.000Z"
updated: "2005-11-21T21:18:32.000Z"
replies: 14
views: 763
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/137836-inner-join-problem"
---

# INNER JOIN problem

## #1 — streetrobban, 2005-11-17T14:07Z

Hej,

Jag har en tabell som heter "sns_produkter_biltillbehör" där all information om produkterna sparas. I "sns_produkter_biltillbehör" finns det fält med ID-nummer som länkas med INNER JOIN till andra tabeller.

Tex. "sns_produkter_biltillbehör.id_bilmärke" hämtas från "sns_bilmärken", så att jag får fram ett bilmärke.

Samma sak med "sns_bilmodeller" och "sns_kategorier".

När man vill spara en produkt i sin kundvagn lägger användaren till "sns_produkter_biltillbehör.id" i en ny tabell som heter "sns_ordrar". Sedan när man visar kundvagnen vill jag hämta all information om produkten man lagt till från "sns_produkter_billtillbehör". Men självklart måste man hämta produkten med rätt ID-nummer från "sns_ordrar". Hur gör man det?

Här är koden som hämtar en produkt från "sns_produkter_biltillbehör". Jag vill länka samman "sns_produkter_biltillbehör.id" med "sns_ordrar.produkterID".

```php
	$get = mysql_query("SELECT sns_bilmärken.id, sns_bilmärken.bilmärke, sns_bilmodeller.id, sns_bilmodeller.bilmodell, sns_kategorier_biltillbehör.id, sns_kategorier_biltillbehör.kategorinamn, sns_produkter_biltillbehör.id AS produkt_id, sns_produkter_biltillbehör.produktnamn, sns_produkter_biltillbehör.id_bilmodell, sns_produkter_biltillbehör.id_bilmärke, sns_produkter_biltillbehör.bild, sns_produkter_biltillbehör.beskrivning, sns_produkter_biltillbehör.pris, sns_produkter_biltillbehör.id_kategori, sns_produkter_biltillbehör.tid, sns_produkter_biltillbehör.datum FROM 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 LIMIT 1");
```

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

## #2 — Niklasson, 2005-11-17T14:18Z

Flyttad från PHP..

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

## #3 — LarsG, 2005-11-17T15:16Z

Det är väl bara att lägga till

```
SELECT bm.id, 
       bm.bilmärke, 
       bmo.id, 
       bmo.bilmodell, 
       kb.id, 
       kb.kategorinamn, 
       pb.id AS produkt_id, 
       pb.produktnamn, 
       pb.id_bilmodell, 
       pb.id_bilmärke, 
       pb.bild, 
       pb.beskrivning, 
       pb.pris, 
       pb.id_kategori, 
       pb.tid, 
       pb.datum 
  FROM sns_produkter_biltillbehör pb
    INNER JOIN sns_kategorier_biltillbehör kb ON pb.id_kategori = kb.id
    INNER JOIN sns_bilmodeller bmo ON spb.id_bilmodell = bmo.id
    INNER JOIN sns_bilmärken bm ON pb.id_bilmärke = bm.id 
  where pb.id in 
   (select produkterID
      from sns_ordrar
     where kundID = 4711)
```

vad är problemet?

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

## #4 — streetrobban, 2005-11-17T20:10Z

Det funkar inte LarsG.

```php
	$get = mysql_query("SELECT
	bm.id, 
	bm.bilmärke,
	bmo.id,
	bmo.bilmodell,
	kb.id,
	kb.kategorinamn,
	pb.id AS produkt_id,
	pb.produktnamn,
	pb.id_bilmodell,
	pb.id_bilmärke,
	pb.bild,
	pb.beskrivning,
	pb.pris,
	pb.id_kategori,
	pb.tid,
	pb.datum
  	FROM sns_produkter_biltillbehör pb
    	INNER JOIN sns_kategorier_biltillbehör kb ON pb.id_kategori = kb.id
    	INNER JOIN sns_bilmodeller bmo ON pb.id_bilmodell = bmo.id
    	INNER JOIN sns_bilmärken bm ON pb.id_bilmärke = bm.id 
  	WHERE pb.id IN (SELECT produktID FROM sns_ordrar WHERE id_användare = '$användarID' & kundKlar = '0')");
```

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

## #5 — emission, 2005-11-17T22:16Z

Vad är det som inte fungerar? Vad händer?

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

## #6 — streetrobban, 2005-11-17T22:20Z

Den sista kodsnutten "IN (SELECT..." kan inte hämta några "produktID" från sns_ordrar.

Fel:

```php
INNER JOIN sns_bilmärken bm ON pb.id_bilmärke = bm.id
      WHERE pb.id IN (SELECT produktID FROM sns_ordrar WHERE id_användare = '$användarID' & kundKlar = '0')");
```

Funkar:

```php
INNER JOIN sns_bilmärken bm ON pb.id_bilmärke = bm.id
      WHERE pb.id = '158'");
```

Felmeddelande:

```
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/kunder/kund.php on line 100
```

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

## #7 — emission, 2005-11-17T23:12Z

AND passar nog bättre än &-tecken... :)

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

## #8 — streetrobban, 2005-11-18T07:36Z

Jag har provat AND tecken, jag fick tips av en snubbe igår att det kanske är SQL-versionen som inte stöder IN? MySQL 4.0.21-log körs. Kan det stämma?

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

## #9 — @nders, 2005-11-18T07:38Z

Jo, den versionen av MySQL stödjer IN. Däremot inte subqueries.
Kan du inte uppgradera?

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

## #10 — streetrobban, 2005-11-18T14:55Z

Jag kör mot ett webbhotell som heter Crystone. Jag får väl maila dom och fråga...

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

## #11 — streetrobban, 2005-11-18T15:03Z

Ok, nu har jag mailat. Men vilken version är den senaste, eller vilken version funkar Subselects med?

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

## #12 — Jesper T, 2005-11-18T15:14Z

Tror att 4.22 fixar subselects

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

## #13 — emission, 2005-11-18T15:45Z

Fast egentligen borde det inte behövas

```
"SELECT
    bm.id,
    bm.bilmärke,
    bmo.id,
    bmo.bilmodell,
    kb.id,
    kb.kategorinamn,
    pb.id AS produkt_id,
    pb.produktnamn,
    pb.id_bilmodell,
    pb.id_bilmärke,
    pb.bild,
    pb.beskrivning,
    pb.pris,
    pb.id_kategori,
    pb.tid,
    pb.datum
      FROM sns_produkter_biltillbehör pb
        INNER JOIN sns_kategorier_biltillbehör kb ON pb.id_kategori = kb.id
        INNER JOIN sns_bilmodeller bmo ON pb.id_bilmodell = bmo.id
        INNER JOIN sns_bilmärken bm ON pb.id_bilmärke = bm.id
        INNER JOIN sns_ordrar o ON (pb.id=o.produktID AND o.id_användare = '$användarID' AND o.kundKlar = '0')"
```

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

## #14 — @nders, 2005-11-18T15:59Z

> **streetrobban skrev:**
>
> Ok, nu har jag mailat. Men vilken version är den senaste, eller vilken version funkar Subselects med?

Från och med version 4.1 stöds subqueries.

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

## #15 — streetrobban, 2005-11-21T21:18Z

wow emission, tack för hjälpen! nu funkar det!!

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/137836-inner-join-problem
