Avatar billede orca Nybegynder
14. september 2002 - 00:10 Der er 2 kommentarer og
1 løsning

Problem med join

Hej alle. Jeg har lavet følgende SQL sætning som gerne skulle hente alle forums fra tblForums hvor at active er = 1. Den skulle også gerne tælle antal emner i tblForumTopics som har SubID = 0, og hente det seneste emnes dato.

SELECT    FO.Title, FO.ForumID, COUNT(FT.TopicID) AS ThreadCount, FT.Created AS LastPost
FROM        tblForums FO LEFT OUTER JOIN
                      tblForumTopics FT ON FT.ForumID = FO.ForumID AND FT.SubID = 0
WHERE    (FO.Active = 1) AND (FO.SubID = 0)
GROUP BY FO.Title, FO.ForumID, FT.Created
ORDER BY FO.Title, FT.Created DESC

Jeg har dog det problem at den henter de samme forums flere gange, hvis der er flere poster der hører til forummet. Jeg har sikkert overset et eller andet simpelt?

Mvh Mark
--
www.improve.dk
Avatar billede ocp Nybegynder
14. september 2002 - 00:32 #1
Hvordan ser dette ud?

SELECT  FO.Title,
    FO.ForumID,
    (select count(*) from tblForumTopics where FT.ForumID = FO.ForumID AND FT.SubID = 0) AS ThreadCount,
    (select max(ft.created) from tblForumTopics where FT.ForumID = FO.ForumID AND FT.SubID = 0) AS LastPost
FROM    tblForums FO
WHERE  (FO.Active = 1) AND (FO.SubID = 0)
GROUP BY FO.Title, FO.ForumID
Avatar billede ocp Nybegynder
14. september 2002 - 00:32 #2
Ups... mindre korrektion:

SELECT  FO.Title,
    FO.ForumID,
    (select count(*) from tblForumTopics FT where ForumID = FO.ForumID AND SubID = 0) AS ThreadCount,
    (select max(ft.created) from tblForumTopics FT where ForumID = FO.ForumID AND SubID = 0) AS LastPost
FROM    tblForums FO
WHERE  (FO.Active = 1) AND (FO.SubID = 0)
GROUP BY FO.Title, FO.ForumID
Avatar billede orca Nybegynder
14. september 2002 - 10:39 #3
Tak, det var lige hvad der skulle til :)
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
Computerworld tilbyder specialiserede kurser i database-management

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