SE NY FRÅGA UNDER DENNA Nja, det finns andra sätt, men inte utan COUNT...;-) ja det där gick ju oerhört mycket snabbare. tack så mycket för hjälpen Johan =)Kan man lösa detta utan count
Hej. Som ni ser vil jag på en sida loopa ut alla branscher som finns i databasen. jag vill oxå bredvid varje bransch skriva ut hur många företag som finns under den. På det sätt jag gjort segar det rejält. Kan någon en bättre lösning? Robert
<code>
sqlgetbranscher = " SELECT bransch, bransch_id FROM bransch "
set rs = conn.execute(sqlgetbranscher)
Do until rs.EOF
'Lägger totala antalet företag under varje bransch i variabeln antForetag
sql2 = " SELECT COUNT(bransch_id) FROM foretag f WHERE f.bransch_id = '"&rs("bransch_id")&"'"
Set rs2 = conn.Execute(sql2)
antForetag = rs2.Fields(0)
<li type="square">&order_by=foretags_namn" onfocus="this.blur" class="lanktext"><%=rs("bransch")%> (<%=antForetag%>)
rs.MoveNext
Loop
rs.Close
</code>
--------------------------------------------------------------------------------------------------------------------
NY FRÅGA
Som johan visade med koden
<code>
sqlgetbranscher = "SELECT bransch.bransch, bransch.bransch_id, COUNT(foretag.bransch_id) AS Antal FROM bransch LEFT JOIN foretag ON bransch.bransch_id = foretag.bransch_id GROUP BY bransch.bransch, bransch.bransch_id"
set rs = conn.execute(sqlgetbranscher)
Do until rs.EOF
Response.Write "<li type=""square"">" & rs("bransch") & " (" & rs("Antal") & ")"
rs.MoveNext
Loop
rs.Close
</code>
gick min tidigare fråga att lösa utmärkt.
Jag skulle nu vilja bygga på koden, mina kunskaper i sql räcker inte till och jag har vridit och vänt på problemet i query analyzer men får inte till rätt group by.
Jag vill i princip göra samma sak som Johans kod, men även joina på tabellen län. För att på så sätt kunna sortera bransch-rubrikerna efter länen som företagen under dem tillhör.
Ex: Man gör en sökning i rubrik/bransch fältet på "Båt", man får då träffar på de branscher/rubriker som innehåller "båt" tex, Båtdelar, Båtmotorer osv. Bredvid rubrikerna vill jag få med hur många företag det finns under rubriken enligt Johans kod.
Men man kanske också bara vill veta om det finns företag med Rubriken/branschen båt i Västra götaland. Därför behöver jag joina på tabellen lan på tabellen foretag också. Så att man kan göra en sortering på rubrikträffarna.
Här är den koden jag hitills löst, vad som saknas är counten som finns i Johan kod
<code>
sql = " SELECT DISTINCT bransch.bransch, bransch.bransch_id, lan.lan, lan.lan_id "
sql = sql & " FROM bransch "
sql = sql & " JOIN foretag ON bransch.bransch_id = foretag.bransch_id "
sql = sql & " JOIN lan ON foretag.lan_id = lan.lan_id "
sql = sql & " WHERE bransch.bransch LIKE '%"&bransch&"%' "
</code>
Hoppas jag var tydlig nog =)
Mvh//RobertSv: Kan man lösa detta utan count?
<code>
sqlgetbranscher = "SELECT bransch.bransch, bransch.bransch_id, COUNT(foretag.bransch_id) AS Antal FROM bransch LEFT JOIN foretag ON bransch.bransch_id = foretag.bransch_id GROUP BY bransch.bransch, bransch.bransch_id"
set rs = conn.execute(sqlgetbranscher)
Do until rs.EOF
Response.Write "<li type=""square"">" & rs("bransch") & " (" & rs("Antal") & ")"
rs.MoveNext
Loop
rs.Close
</code>
/JohanSv: Kan man lösa detta utan count?