Avatar billede hostgirl Nybegynder
10. april 2007 - 22:07 Der er 7 kommentarer og
1 løsning

Count og listning sammentidigt (SQL)

Hej alle

Jeg har to tabeller.

1. Category 
CId(unik), WId, CategoryName ....

2. Websites
WId(unik), PId, ....

Det jeg ønsker er, at liste alle CategoryName med et tal efterfølgende, som er countet på PId tilsvarende CId.

Jeg har følgende:

objConn.Execute("SELECT *, COUNT(Websites.WId) AS antal FROM Websites LEFT JOIN Category ON Websites.PId = Category.CId WHERE Category.WId=" & intWId & " GROUP BY Category.CId ORDER BY OrderView")

og den virker fint, problemet er blot den ikke viser dem med 0, dvs der hvor den ikke kan counte.

Håber i forstår hvad jeg mener.
Avatar billede vaisgaard Nybegynder
11. april 2007 - 02:12 #1
Jeg mener du skal bruge ISNULL(COUNT(Websites.WId), 0) AS antal.

Syntaxen varierer fra database til database, denne passer vist nok til Access og SQL.
Avatar billede The Real Yoda Juniormester
11. april 2007 - 08:18 #2
du kunne vel bare .. der hvor du skriver ud hvor mange der er ..

response.write int("0"&rs("antal"))

så sætter den et nul foran .. og fjerner det igen hvis det er et andet tal.
Avatar billede hostgirl Nybegynder
11. april 2007 - 16:43 #3
IsNULL tager kun en paramter, så den dur ikke :(

response.write int("0"&rs("antal")) Problemet er tallet, men også hele kategori-teksten. Dem med nul blive slet ikke kørt igennem while løkken fra objRS.
Avatar billede softspot Forsker
14. april 2007 - 22:24 #4
Jeg har muligvis misforstået dit behov, for det virker på mig lidt sært at vælge * (alle felter i begge tabeller), hvis du bare vil have kategorierne optalt...?

Desuden undrer det mig at du ikke får en fejl når du kun grupperer Category.CId. Normalt ville jeg forvente at du skulle gruppere på alle felter der ikke er aggregat-funktioner... men nu er jeg heller ikke helt sikker på hvilken database der er tale om (jeg gættede i første omgang på SQL Server).

Anyway! Jeg ville umiddelbart gøre således - hvis kravet blot er at liste kategorinavnet og antallet af gange en kategori er knyttet til det givent website:

sql = "SELECT CategoryName, COUNT(WId) " & _
      "FROM Category " & _
      "WHERE WId = " & intWId & " " & _
      "GROUP BY CategoryName " & _
      "ORDER BY OrderView"

(under antagelse af at OrderView ligger i tabellen Category)

Men der er givetvis noget jeg ikke har forstået, så det er bare mit umiddelbare bud.
Avatar billede hostgirl Nybegynder
23. april 2007 - 19:47 #5
Ingen af jeres svar, gav rigtig pote, men har fået undladt at bruge funktionen. Vil i smide et svar alle og få lidt point... ?
Avatar billede softspot Forsker
23. april 2007 - 21:23 #6
Hvis det ikke bragte dig videre, skal jeg ikke have point, ellers tak :)
Avatar billede The Real Yoda Juniormester
25. april 2007 - 18:35 #7
heller ik her
Avatar billede hostgirl Nybegynder
26. april 2007 - 09:11 #8
okay.. men mange tak for jeres hjælp/inputs
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester