Avatar billede spif Nybegynder
25. september 2001 - 16:55 Der er 12 kommentarer og
1 løsning

Tæller antal poster i en tabel...

Problem:
skal vise antallet af poster i en tabel, som er tilknyttet en anden post i en anden tabel.

\"Select link,count(link) as antal from kommentare group by link\"

link indeholder talværdier

bruger jeg en kolonne som indeholder tekst virker det fint - Skal man gøre det anderledes når det drejer sig om talværdier ??



Avatar billede pierrehusted Nybegynder
25. september 2001 - 17:09 #1
Kan det være fordi nogle af dem indeholder NULL (og ikke 0)?

Får du slet ikke noget ud af det, eller får du noget forkert?
Avatar billede tmceu Praktikant
25. september 2001 - 22:54 #2
Jeg tror det skyldes at du tæller og grupperer på samme felt.

Prøv i stedet med

\"Select link,count(*) as antal from kommentare group by link\"
Avatar billede tmceu Praktikant
25. september 2001 - 23:17 #3
Jeg tror du får mere/bedre hjælp hvis du begynder at begrunde dine afvisninger, eks. med hvorfor du mener det ikke virker, får du en fejl, eller \"blot\" et uventet resultat.

Er dit problem at du ønsker at tælle alle posterne, men at ovenstående select blot returnerer alle links med 1 som antal ?
Avatar billede spif Nybegynder
25. september 2001 - 23:35 #4
Egentlig var det slet ikke det, som var problemet så jeg undskylder meget, men siden jeg har oprettet spm vil jeg udbygge mit forrige.

Ideen er, at det skal være muligt at se hvor mange kommentarer der er tilkyttet et link:

[link] (antal poster)

Har 2 tabeller (med de væsentlige kolonner):

Links:
id //primær nøgle
url
typelink //kategorien af link

kommentare:
  id // primær nøgle
  link // fremmed nøgle

Har følgende 2 delsætninger.

del sætning1:

  select link,count(link) as antal from kommentare group by link
Det her giver antallet af poster tilkyttet linket

del sætning2:
  Select * From links where typelink = \'\" & kategori & \"\'\"
Det her viser kun de links som har en bestemt kategori/typelink
 
Jeg går udfra, at det må noget lignende det, men kan ikke finde ud af at sættet de 2 delsætninger sammen(subquery måske?), eller er det noget helt andet?

Nu da spm blev lidt udbygget har jeg sat point op.
Avatar billede tmceu Praktikant
26. september 2001 - 09:14 #5
Svarer link i kommentare til url i links ?

Jeg har det lige på tungen, men vil blot lige sikre mig at jeg har forstået dine tabeller korrekt.
Avatar billede spif Nybegynder
26. september 2001 - 13:35 #6
Nej link svarer til id i Links, så man kan se hvilke kommentare der er tilknyttet linket...
Avatar billede tmceu Praktikant
26. september 2001 - 14:46 #7
select url, count(link) as antal from links, kommentare where links.id=kommentare.link group by url
Avatar billede spif Nybegynder
26. september 2001 - 15:07 #8
Jeg regnede også med at det var noget lignende det, men den skal jo gruppere efter link, og så får jeg følgende fejl:

You tried to execute a query that does not include the specified expression \'url\' as part of an aggregate function.

så man skal vel bruge en subquery ik?
Avatar billede tmceu Praktikant
26. september 2001 - 16:09 #9
Jeg forstår ikke helt problemet. Med ovenstående vil du få antal kommentarer pr. url...

Forventer du ikke at se

URL  Antal
xxx  10
yyy  12

Hvis det ikke er tilfældet, kan du ikke prøve at vise hvad du forventer at se, gerne med tabelnavn foran felterne
Avatar billede spif Nybegynder
26. september 2001 - 16:37 #10
Jo du har ret det er den effekt jeg ønsker, men hvis jeg tager flere kolonner med får jeg før omtalte fejlbesked.

Jeg skal vise [LINKS]linktype, [LINKS]url og antal kommentare

forstår du hvad jeg mener?
Avatar billede tmceu Praktikant
26. september 2001 - 16:44 #11
Så skal du bare udvide din group by

select url, linktype, count(link) as antal from links, kommentare where links.id=kommentare.link group by url, linktype
Avatar billede spif Nybegynder
26. september 2001 - 17:27 #12
Doh.. så simpelt vidste ikke man skulle inkludere dem i group by, men anyway du har ihvertfald fortjent dine point tak for hjælpen
Avatar billede tmceu Praktikant
27. september 2001 - 01:34 #13
Det var så lidt. Så meget snak om noget der var så simpelt :-)
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