webForumDet fria alternativet

COUNT något i SQL

5 svar · 384 visningar · startad av CatZ

CatZMedlem sedan jan. 20022 341 inlägg
#1
SQL = " SELECT krInfo.KrLan, KrInfo.KrID, KrInfo.KrNamn, " _
    & " KrInfo.KrStad, KrInfo.KrGata, KrInfo.KrSommar,  " _
    & " KrInfo.KrEpost, KrInfo.KrLank, KrInfo.KrTele, " _
    & " KrInfo.KrMpnID, KrInfo.KrPostnr, " _
    & " krSpel.dagarID, krSpel.tid, [b]COUNT(KrSpel.DagID) AS Total" _ [/b]
    & " FROM krInfo LEFT OUTER JOIN krSpel" _
    & " ON krInfo.KrID = krSpel.KrID" _
    & " WHERE krInfo.KrId = " & Request.QueryString("id") & " "
[i]set rs = dbCom.Execute(SQL) ' rad 17[/i]

Det står följande när jag försöker använda ovanstående:

Microsoft JET Database Engine fel '80040e21'

Du försökte köra en fråga med en mängdfunktion som inte innehöll det angivna uttrycket 'KrLan'.

/admin_krInfo/admin_krInfo_ak.asp, line 17

pontaMedlem sedan juli 200237 inlägg
#2

Du måste använda uttrycket GROUP BY.

Försök så här:

SQL = " SELECT krInfo.KrLan, KrInfo.KrID, KrInfo.KrNamn, " _
    & " KrInfo.KrStad, KrInfo.KrGata, KrInfo.KrSommar,  " _
    & " KrInfo.KrEpost, KrInfo.KrLank, KrInfo.KrTele, " _
    & " KrInfo.KrMpnID, KrInfo.KrPostnr, " _
    & " krSpel.dagarID, krSpel.tid, COUNT(KrSpel.DagID) AS Total" _ 
    & " FROM krInfo LEFT OUTER JOIN krSpel" _
    & " ON krInfo.KrID = krSpel.KrID" _
    & " WHERE krInfo.KrId = " & Request.QueryString("id") _
    & " GROUP BY krInfo.KrLan, KrInfo.KrID, KrInfo.KrNamn, " _
    & " KrInfo.KrStad, KrInfo.KrGata, KrInfo.KrSommar,  " _
    & " KrInfo.KrEpost, KrInfo.KrLank, KrInfo.KrTele, " _
    & " KrInfo.KrMpnID, KrInfo.KrPostnr, " _
    & " krSpel.dagarID, krSpel.tid"
CatZMedlem sedan jan. 20022 341 inlägg
#3

Tack för hjälpen!

CatZMedlem sedan jan. 20022 341 inlägg
#4

Nu ett problem då, den räknar inte det totala antalet gånger utan det blir bara 1 gång för de lag som finns med där...

Hur får jag så att varje gång det finns ett värde i fältet som stämmer överrens med min join räknas in i COUNT ?

LarsGMedlem sedan dec. 200012 465 inlägg
#5

Nu förstår jag inte. Beskriv tabeller med lite exempeldata och vad du förväntar för resultat.

CatZMedlem sedan jan. 20022 341 inlägg
#6

I tabell 1 finns information om bridgeklubbar, i tabell 2 finns information om spelkvällar. Det jag vill göra är att räkna hur många gånger KrID (som för övrigt länkar ihop tabellerna) finns med i KrSpel-tabellen för att kunna skriva ut rätt antal spelkvällar på de administrativa sidorna.

<%
oka = 1
for i = 1 to Total 
%>
<tr class="td2"> 
<td>Spelkväll</td>
<td>
<select name="dagarID<%=oka%>">
<option value="">.: Välj Dag :.</option>
<option value="2"<%If strdagarID = "2" Then Response.Write " Selected" End If%>>Måndag</option>
<option value="3"<%If strdagarID = "3" Then Response.Write " Selected" End If%>>Tisdagar</option>
<option value="4"<%If strdagarID = "4" Then Response.Write " Selected" End If%>>Onsdagar</option>
<option value="5"<%If strdagarID = "5" Then Response.Write " Selected" End If%>>Torsdagar</option>
<option value="6"<%If strdagarID = "6" Then Response.Write " Selected" End If%>>Fredagar</option>
<option value="7"<%If strdagarID = "7" Then Response.Write " Selected" End If%>>Lördag</option>
<option value="1"<%If strdagarID = "1" Then Response.Write " Selected" End If%>>Söndag</option>
</select>
Tid: <input name="tid<%=oka%>" type="text" size="7" maxlength="5" value="<%= strtid %>">
</td>
</tr>
<% 
oka = oka +1
next 
%>

Förstår ni nu ?

Genererad på 361 ms · cache AV · v20260730165559-full.f96bc7eb