---
title: "Strul med select sats"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/57763-strul-med-select-sats"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "G8"
published: "2002-11-01T21:50:32.000Z"
updated: "2002-11-05T16:55:08.000Z"
replies: 6
views: 295
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/asp/57763-strul-med-select-sats"
---

# Strul med select sats

## #1 — G8, 2002-11-01T21:50Z

Jag har tre tabeller i en MySQL databas, där jag ska köra en sökning för att kunna lista resultatet.

Tabell "Region"
ID
namn

Tabell "Klubbar"
ID
Namn
region
idrott
poang

Tabell "Idrott"
ID
Namn

Det jag vill göra är att jag vill lista alla idrotter i varje enskilld region där det finns en klubb, samt visa den klubb med mest poäng i varje idrott i resp. region.

För tillfället ser mina selectsatser ut så här:

```
stm = "SELECT idrott.id AS idrottsid, idrott.namn AS idrottsnamn " &_
" ORDER BY idrott.region, idrott.namn asc"
set rs1 = Connection.Execute(stm)
%>
                          <tr> 
                            <td width="150" height="20">&nbsp; Idrott</td>
                            <td width="194" align="center">#1</td>
                            <td width="53" align="center">Region</td>
                          </tr>
                          <%
Do until rs1.eof
stm2 = "SELECT klubbar.id AS klubbid, klubbar.namn AS klubbnamn, " &_ 
" klubbar.poang, region.namn FROM klubbar INNER JOIN region " &_
" ON klubbar.region = region.id WHERE " &_ 
" klubbar.idrotts ="& rs1("idrottsid") &"ORDER BY klubbar.poang desc"
set rs2 = Connection.Execute(stm2)
```

Jag vill alltså på en och samma sida, visa t.ex. överst region Småland och alla de idrotter som finns registrerade i småland, samt för varje idrott visa vilken klubb som har mest poäng i just den idrotten.

Efter Småland kommer nästa region, och där visas samma information, fast för den regionen givetvis...

Nån som fattar?

//G8

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

## #2 — LarsG, 2002-11-01T22:05Z

```
q1 = "select max(poang),region,idrott from klubbar " & _
         " group by region,idrott" & _
       "order by region, idrott
set rs1 = connection.execute(q1)
while not rs1.eof
    q2 = "SELECT klubbar.id AS klubbid, klubbar.namn AS klubbnamn, " &_ 
" klubbar.poang, region.namn as regionnamn, " & _
" idrott.namn as idrotts namn " & _
" FROM klubbar INNER JOIN region " &_
" ON klubbar.region = region.id  " & _
" inner join idrott on klubbar.idrott = idrott.id " & _
" WHERE  klubbar.idrott ="& rs1("idrott") & _
" and klubbar.region = " & rs1("region") & _
" and kkubbar.poang = " & rs1(0)
```

Skulle egentligen gå med en fråga om mysql hade stöd för subselect.

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

## #3 — G8, 2002-11-01T22:36Z

:)

Tack LarsG, som alltid

Hinner inte kolla mer på det nu, skallen känns som gröt och jag ska upp i ottan och jobba imorgon..

Ska kolla på det när jag kommer hem

//G8

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

## #4 — G8, 2002-11-04T20:05Z

hmm, får felmeddelande:

> ADODB.Field fel '80020009' 
> 
> Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post. 
> 
> ?

Inte riktigt säker på vilken rad den pekar på, men jag antar att det har att göra med att inte alla regioner har någon idrott knuten till sig ännu... nått sätt att gå runt det?

//G8

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

## #5 — Ekström, 2002-11-04T20:11Z

Får man se hela koden? :)

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

## #6 — G8, 2002-11-04T22:14Z

:)

Givetvis får du se lite kod, delar alltid med mig av mina misstag ;)

```
<%
set connection = Server.CreateObject("ADODB.Connection")
Connection.Open "databasen"
count = 1

q1 = "select max(klubbar.poang), klubbar.region, klubbar.idrottsid from klubbar " & _
         " group by region,idrottsid" & _
       " order by klubbar.region, klubbar.idrottsid"
set rs1 = connection.execute(q1)
%>
                          <tr> 
                            <td width="150" height="20">_ Sport</td>
                            <td width="194" align="center">Ledare</td>
                            <td width="53" align="center">Region</td>
                            <td width="42" align="center">Registrerade klubbar</td>
                            <td width="59" align="center">Aktiv?</td>
                          </tr>
                          <%
while not rs1.eof
q2 = "SELECT klubbar.id AS klubbid, klubbar.namn AS klubbnamn, " &_ 
" klubbar.poang, region.namn as regionsnamn, " & _
" idrotter.namn as idrottnamn, idrotter.antal_klubbar, idrotter.senaste_matchen " & _
" FROM klubbar INNER JOIN region " &_
" ON klubbar.region = region.id  " & _
" inner join idrotter on klubbar.idrottsid = idrotter.id " & _
" WHERE  klubbar.idrottsid ="& rs1("idrottsid") & _
" and klubbar.region = " & rs1("region") & _
" and klubbar.poang = " & rs1(0)
set rs2 = Connection.Execute(q2)

	'##lite kod för att växelvis ändra färg på cellerna i tabellen
	if count idrott 2 = 0 then
	bgcolor = "#9AACBE"
	else
	bgcolor = "#BDC9D5"
	end if
%>
                          <tr><%if rs2.eof then%>
						  <td bgcolor="<%=bgcolor%>"><img src="images/<%=rs2("idrottsnamn")%>.gif" alt=" <%=rs2("idrottsnamn")%> " width="150" height="13" border="0"></td>
                            <td align="center" bgcolor="<%=bgcolor%>">Inga klubbar registrerade</td>
                            <td align="center" bgcolor="<%=bgcolor%>"><img src="images/flags/na.gif" alt=" N/A " width="14" height="12"></td>
                            <td align="center" bgcolor="<%=bgcolor%>">0</td>
                            <td align="center" bgcolor="<%=bgcolor%>"><img src="images/no.gif" alt=" NEJ " width="23" height="13" border="0"></td>
							<%else%>
                            <td bgcolor="<%=bgcolor%>"><a href="sporter.asp?SID=<%=rs2("idrottsid")%>&idrott=<%=SERVER.URLEncode(rs2("idrottsnamn"))%>"><img src="images/<%=rs2("idrottsnamn")%>.gif" alt=" <%=rs2("idrottsnamn")%> " width="150" height="13" border="0"></a></td>
                            <td align="center" bgcolor="<%=bgcolor%>"><a href="klubbinfo.asp?klubbid=<%=rs1("klubbid")%>"><%=rs1("klubbnamn")%></a></td>
                            <td align="center" bgcolor="<%=bgcolor%>"><img src="images/flags/<%=rs2("regionsnamn")%>.gif" alt=" <%=rs2("regionsnamn")%> " width="14" height="12"></td>
                            <td align="center" bgcolor="<%=bgcolor%>"><%=rs2("antal_klubbar")%></td>
                            <td align="center" bgcolor="<%=bgcolor%>"> 
                              <%
							Datum = DateDiff("d", Date, rs2("senaste_matchen"))
							if CINT(datum) >= -21 then
							response.write("<img src=" & "images/yes.gif" & " " & "alt=" & " JA " & " " & "width=" & "23" & " " & "height=" & "13" & " " & "border=" & "0" & ">")
							else
							response.write("<img src=" & "images/no.gif" & " " & "alt=" & " NEJ " & " " & "width=" & "23" & " " & "height=" & "13" & " " & "border=" & "0" & ">")
							end if
							%></td><%end if%>
                          </tr>
                          <%
count = count + 1
rs1.MoveNext
Rs2.Close
set rs2 = Nothing
wend
Rs1.Close
set rs1 = Nothing
Connection.close
Set connection = Nothing
%>
```

//G8

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

## #7 — G8, 2002-11-05T16:55Z

ingen som vet?

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/57763-strul-med-select-sats
