---
title: "Skriva ut undermenyer"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/118720-skriva-ut-undermenyer"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Steady"
published: "2004-12-26T20:29:49.000Z"
updated: "2004-12-27T16:28:15.000Z"
replies: 5
views: 281
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/118720-skriva-ut-undermenyer"
---

# Skriva ut undermenyer

## #1 — Steady, 2004-12-26T20:29Z

Hejsan!

Undrar om någon kan hjälpa mig med denna svårknäckta nöt.
Jag har en tabell som heter *menu* som ser ut som följande:

```
ID - [i]int / auto_increment[/i]
Menu - [i]varchar[/i]
SubMenu - [i]int[/i]
```

Jag försöker bygga upp ett menysystem där *Menu* innehåller namnet på länken och där *SubMenu* är 0 om det inte är någon undermeny, annars är det ett ID som hänvisar till en Menu som har SubMenu 0. Det jag vill göra är alltså att lista alla Menu som har SubMenu 0 och sedan lista alla SubMenu:er därunder.
Exempel:

```
[b]ID - Menu - SubMenu[/b]
1 Datordelar 0
2 Grafikkort 1
3 Moderkort 1
4 Ljudkort 1
5 Kameror 0
6 Digitalkameror 5
7 Analoga kameror 5
```

Måste jag göra detta genom att lägga en loop i en loop eller finns det något enklare sätt?
Hoppas ni förstår principen och kan hjälpa mig med detta. 
Tack på förhand!

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

## #2 — Steady, 2004-12-26T21:30Z

Okej, jag fick lösa det med loop i loop. Nu till en annan fråga.
Jag skulle vilja räkna hur många artiklar det finns i varje meny. Alltså en Count i SELECT:en som räknar på antalet artiklar som har MenuID = menu.ID.
Artikeltabellen heter **article** och har MenuID som relationskolumn.

Tack på förhand

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

## #3 — Peter S, 2004-12-27T15:28Z

```
select	 a.menuid, count(*) as total 
from	 article a, menu m 
where	 a.menuid = m.id 
group by a.menuid
```

 :)

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

## #4 — Steady, 2004-12-27T16:01Z

Fint, den listar dock inte alla poster, vet inte riktigt varför. Något jag missat? 

```
SELECT	a.MenuID, m.ID, m.Menu, Count(a.MenuID) AS total 
FROM 	article a, menu m 
WHERE 	m.SubMenu = 0 AND a.MenuID = m.ID 
GROUP BY a.MenuID
```

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

## #5 — Peter S, 2004-12-27T16:17Z

Testa denna:

```
select		m.id, m.menu, count(*) as total 
from		menu m 
left outer join	article a 
on		m.id = a.menuid 
where		m.submenu = 0 
group by	m.id, m.menu
```

 :)

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

## #6 — Steady, 2004-12-27T16:28Z

Funkade kanonfint! Tack så mycket. :)

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/118720-skriva-ut-undermenyer
