---
title: "Iterator i en iterator?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/101152-iterator-i-en-iterator"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "ampy"
published: "2004-04-07T22:36:41.000Z"
updated: "2004-04-08T11:01:06.000Z"
replies: 3
views: 200
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/101152-iterator-i-en-iterator"
---

# Iterator i en iterator?

## #1 — ampy, 2004-04-07T22:36Z

Försöker skriva ett omröstningsarkiv med endast en sql-fråga men kommer inte på hur jag ska skriva ut resultatet sedan. 

Såhär är tabellerna definerade:

```
[B]poll[/B]
pollID
question
introduction
totalVotes
datum

[B]pollanswers[/B]
pollID
answers
votes
```

Frågan som den ser ut nu:

```
SELECT
	p.question, 
	p.introduction, 
	p.totalvotes, 
	p.datum, 
	pa.anwers, 
	pa.votes 
FROM
	poll p
	inner join pollanswers pa on pa.pollid = p.pollid
ORDER BY
	p.pollid desc
```

Varje omörstning kan innehålla två till fem svarsalternativ. Nu när jag itererar fram alla omröstningar, hur ska jag då iterera fram svarsalternativen?
Måste  jag ha ännu en iterator som itererar fram svarsalternativen i den iterator som itererar fram självaste omröstningarna?

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

## #2 — Engine^, 2004-04-08T07:24Z

Iterera, iterator och itererar... intressanta ordval ;)

Nåja - om jag förstod dig rätt så vill du även ha ut dom svarsalternativ som inte blivit valda?

Jag begriper mig inte riktigt på din tabellstruktur, men jag gissar på att du vill göra en RIGHT JOIN instället för din INNER.

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

## #3 — ampy, 2004-04-08T10:57Z

Efter att ha sovit gott inatt kom jag på lösningen direkt nu på "morgonen". 

```
sql = "select p.question, p.introduction, p.totalvotes, p.datum, pa.answers, pa.votes from poll p " & _
      "inner join pollanswers pa on pa.pollid = p.pollid " & _
      "order by p.pollid desc"
	
arrPoll = SetCon(sql, True) '## sub som skapar en array av det hela

if isarray(arrPoll) = true then

	for i = 0 to ubound(arrPoll,2)
																
		if i > 0 then

			if (arrPoll(0,i) <> arrPoll(0,(i-1))) then 

				'## skriver ut frågan
				'## skriver ut första svarsalternativet

			else

				'## skriver ut andra, tredje, fjärde och femte svarsalternativet
				    beroende på när det kommer en ny fråga

			end if

		else
			'## skriver ut frågan till den första omröstningen i vektorn
			'## skriver ut första svarsalternativet till den första omröstningen i vektorn

		end if
	
	next

end if
```

Detta är en liten skiss på hur jag har tänkt. Hoppas ni förstår den.

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

## #4 — Engine^, 2004-04-08T11:01Z

Ute och cyklar i fel forum... :q ;)

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/101152-iterator-i-en-iterator
