---
title: "Fel vid hämtning?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/189176-fel-vid-hämtning"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "streetrobban"
published: "2012-02-22T10:41:22.000Z"
updated: "2012-02-23T17:04:07.000Z"
replies: 5
views: 589
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/189176-fel-vid-hämtning"
---

# Fel vid hämtning?

## #1 — streetrobban, 2012-02-22T10:41Z

Hej!

Jag undrar om någon kan hjälpa mig med nedanstående kod. Jag har 3 tabeller (Products, ProductsCategories och ProductsSubCategories) där jag sparar produkter och deras kategorier. Nedan kod ska lista alla kategorier och deras underkategorier. Men problemet är att en huvudkategori (ProductsCategories) inte visas om det inte finns någon underkategori inlagd (ProductsSubCategories). Vet någon hur man kan skruva till koden så att kategorin hämtas ändå? Även fast det inte finns någon underkategori?

```php
		// Hämta alla kategorier
		$get = mysql_query("SELECT Cat.ID AS CategoryID, Cat.Name AS CategoryName, SubCat.ID AS SubCategoryID, SubCat.Name AS SubCategoryName, SubCat.ParentID AS SubCategoryParentID
		FROM ProductsSubCategories AS SubCat
		JOIN ProductsCategories AS Cat ON Cat.ID = SubCat.ParentID
		ORDER BY Cat.Sortorder ASC, Cat.Name ASC, SubCat.Name ASC");
		while($row = mysql_fetch_array($get)) 
		{
			// Hämta från Categories
			$CategoryID = $row['CategoryID'];
			$CategoryName = $row['CategoryName'];
			
			// Hämta från SubCategories
			$SubCategoryID = $row['SubCategoryID'];
			$SubCategoryName = $row['SubCategoryName'];
			$SubCategoryParentID = $row['SubCategoryParentID'];
```

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

## #2 — @nders, 2012-02-22T11:41Z

```
        FROM ProductsCategories AS Cat 
        LEFT JOIN ProductsSubCategories AS SubCat ON Cat.ID = SubCat.ParentID
```

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

## #3 — streetrobban, 2012-02-22T12:13Z

Perfekt, tack för hjälpen @nders!

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

## #4 — @nders, 2012-02-22T13:37Z

Vasse!  :)

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

## #5 — streetrobban, 2012-02-22T14:16Z

Jag kanske kan besvära dig med en till SQL fråga @nders.

Jag listar alla artiklar från min databas och artiklar som har Prod.SubCategory = 0 kommer inte att visas med följande kod. Kan du hjälpa mig att skriva ut även dem?

```php
						$get = mysql_query("SELECT Prod.ID, Prod.Name, Prod.ForSaleSE, Prod.ForSaleNO, Prod.ForSaleDK, Prod.ForSaleFI, Prod.Sold, Cat.Name AS CategoryName, Bran.Name AS BrandName, SubCat.Name AS SubCategoryName										
						FROM Products Prod
						JOIN ProductsCategories AS Cat ON Prod.CategoryID = Cat.ID
						JOIN ProductsSubCategories AS SubCat ON Prod.SubCategoryID = SubCat.ID
						JOIN ProductsBrands AS Bran ON Prod.BrandID = Bran.ID
						WHERE Prod.ForSaleSE = '0' AND Prod.ForSaleNO = '0' AND Prod.ForSaleDK = '0' AND Prod.ForSaleFI = '0' AND Prod.Sold = '0'
						ORDER BY Prod.CategoryID DESC, Prod.SubCategoryID DESC, Prod.Name ASC");
```

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

## #6 — @nders, 2012-02-23T17:04Z

Jag tror att du borde, i det här sammanhanget, använda **LEFT JOIN** istället för JOIN, som i mitt exempel ovan.

mvh

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/189176-fel-vid-hämtning
