ampyMedlem sedan feb. 20011 498 inlägg 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?
Engine^Medlem sedan dec. 20003 887 inlägg 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.
ampyMedlem sedan feb. 20011 498 inlägg 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.
Engine^Medlem sedan dec. 20003 887 inlägg Ute och cyklar i fel forum... :q ;)