25. april 2005 - 12:59Der er
8 kommentarer og 1 løsning
Count og join problemer
Hejsa. Jeg sidder og er ved at brygge et forum sammen, men er nu stødt ind i lidt problemer med hensyn til hvordan jeg skal udføre min forespørgsel.
Fra min database skal disse to tabeller bruges: klasse_topics - topic_id - forum_id - emne klasse_threads - thread_id - topic_id - brugerid - osv...
forum_id'et ligger ikke i en database der kun er 3 af dem og derfor ikke er nøvendigt. Det jeg vil er at tælle hvor mange klasse_threads der er under et bestemt forum_id. For at dette skal kunne lykkes skal man igennem klasse_topics på en eller anden facon.
Jeg har prøvet med denne forespørgsel, men den virker ikke: svarSQL1 = "SELECT COUNT(thread_id) AS svar1 FROM klasse_threads INNER JOIN klasse_topics ON klasse_threads.topic_id = klasse_threads.topic_id WHERE klasse_topics.forum_id =1"
Desuden har jeg et lille tillægs spørgsmål: Der skal også tælles på hvor mange topics der er under hvert forum_id. Det er som sådan heller ikke noget problem at gøre det for hvert enkelt forum_id.
AntalSQL1 = "SELECT COUNT(topic_id) AS traade1 FROM klasse_topics WHERE forum_id =1" AntalSQL2 = "SELECT COUNT(topic_id) AS traade2 FROM klasse_topics WHERE forum_id =2" AntalSQL3 = "SELECT COUNT(topic_id) AS traade3 FROM klasse_topics WHERE forum_id =3"
Set Antal1 = Forbindelse.execute(AntalSQL1) Set Antal2 = Forbindelse.execute(AntalSQL2) Set Antal3 = Forbindelse.execute(AntalSQL3) Men der må da være en smartere måde at gøre det på...?
Jeg ved ikke hvad løsningen af dette problem er værd, men hvis ikke 60 er nok, sparker jeg bare antallet op.
du har bare skrevet forkert: svarSQL1 = "SELECT COUNT(thread_id) AS svar1 FROM klasse_threads INNER JOIN klasse_topics ON klasse_threads.topic_id = klasse_threads.topic_id WHERE klasse_topics.forum_id =1"
skal være: svarSQL1 = "SELECT COUNT(thread_id) AS svar1 FROM klasse_threads where klasse_topics.topic_id = klasse_threads.topic_id AND klasse_topics.forum_id =1"
Det virker ikke.. Jeg får en fejlmelding om at tabellen klasse_topics ikke eksisterer. Hvilket ikke giver mening da f.eks. denne forespørgsel virker: AntalSQL3 = "SELECT COUNT(topic_id) AS traade3 FROM klasse_topics WHERE forum_id =3" Nogen der kan se problemet?
svarSQL1 = "SELECT COUNT(thread_id) AS svar1 FROM klasse_threads, klasse_topics where klasse_topics.topic_id = klasse_threads.topic_id AND klasse_topics.forum_id =1"
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.