SQL: count, group by, og null/nul
Sidder og har problemer med denne SQL:SELECT DISTINCT(intNavn),intNavn AS Name,COUNT(done) AS Antal,done FROM visit Group by intNavn,done
Jeg skal have den til at returnere null/nul, når der ikke er nogen counts i en gruppering. Flg. spørgsmål kører på helt samme problemstilling http://eksperten.dk/spm/50590, men jeg kan ikke få det til at virke :-(
Formålet er at få opstillet en tabel, der har "intNavn" nedad og "done" henad (også kaldet krydstabulering) - og når der i en undergruppe IKKE er noget count, så skal der stå nul.
Lige nu ødelægges strukturen, hvis der ikke er noget count i en undergruppe. Kode ser sådan ud lige nu:
Response.Write "<table class='table'>"
set objRS = server.createobject("ADODB.Recordset")
with objRS
.open strSQL, DSN, adOpenForwardOnly, adLockReadOnly, adCmdText
do until .EOF
if overskrift <> .Fields("Name") Then
overskrift = .Fields("Name")
Response.Write "<tr><td><b>" & overskrift & ":</b><td>"
end if
if .Fields("Done") = 0 Then
tmp=.Fields("Antal")
status="Ikke indtastet"
if tmp = NULL Then
tmp=0
end if
Response.Write "<td>"& tmp &" ("& .Fields("Done") &"): <a href='?action=showdetails&type=k&ID=" & .Fields("Name") & "'>" & status & "</a></td>"
end if
if .Fields("Done") = 1 Then
tmp=.Fields("Antal")
status="Afvist ved godkendelse"
if IsEmpty(tmp) = TRUE Then
tmp=0
end if
Response.Write "<td>"& tmp &" ("& .Fields("Done") &"): <a href='?action=showdetails&type=k&ID=" & .Fields("Name") & "'>" & status & "</a></td>"
end if
if .Fields("Done") = 2 Then
tmp=.Fields("Antal")
status="Til godkendelse"
if IsEmpty(tmp) = TRUE Then
tmp=0
end if
Response.Write "<td>"& tmp &" ("& .Fields("Done") &"): <a href='?action=showdetails&type=k&ID=" & .Fields("Name") & "'>" & status & "</a></td>"
end if
if .Fields("Done") = 3 Then
tmp=.Fields("Antal")
status="Godkendt"
if IsEmpty(tmp) = TRUE Then
tmp=0
end if
Response.Write "<td>"& tmp &" ("& .Fields("Done") &"): <a href='?action=showdetails&type=k&ID=" & .Fields("Name") & "'>" & status & "</a></td>"
end if
.movenext
loop
.close
end with
set objRS = Nothing
Response.Write "</table>"
