Kære udviklere,
Jeg er igang med et skoleprojekt hvor vi skal lave et forum. Det meste er allerede lavet, men er stødt ind i et problem.
Jeg har langt om længe fået min
Group By-del til at fungere, ved at bruge en left join hvor jeg henter specifikke dele fra en anden tabel.
Nu skal jeg så joine den samme tabel som jeg har gjort før - jeg skal bare have noget andet ud.
Nuværende eksempel:
Kategorioversigt
Navn | Oprettet af | Låst | Antal
---------------------------------
test | Daniele | ja | 3
Ved "Antal" får jeg udskrevet antallet af tråde som tilhører den kategori jeg får udskrevet. Dette gør jeg således:
- SELECT
- Ka.Kategorier_Id, Ka.Kategorier_Titel, Ka.Kategorier_Active, Ka.Kategorier_Dato, Ka.locked, Bruger.Bruger_Firstname AS fornavn, COALESCE( Tr.Cnt, 0 ) AS Co, Bruger.Bruger_Id
- FROM
- Kategorier Ka
- LEFT JOIN
- (
- SELECT Traade.FK_KategorierId, COUNT(*) AS Cnt
- FROM Traade
- GROUP BY Traade.FK_KategorierId
- ) Tr ON Tr.FK_KategorierId = Ka.Kategorier_Id
- INNER JOIN Bruger
- ON Ka.FK_BrugerId = Bruger.Bruger_Id
- WHERE
- (Ka.Kategorier_Deleted = 0)
- ORDER BY
- Ka.Kategorier_Id ASC
Det fungerer rigtig godt. Men jeg skal også have udskrevet datoen for den senest oprettede tråd i den kategori. Det kan jeg også godt, men så gruperer den ikke kategorien med Group By. Så bliver der udskrevet den samme kategori flere gange (afhængig af hvor mange tråde der eksisterer under den kategori).
Nuværende look:
http://imgur.com/9YCBLJeg vil gerne have det til at se således ud:
http://imgur.com/SQYDLHåber at I kan hjælpe mig. Hvis der er spørgsmål, så spørg endelig!
P.S. Jeg bruger Repeater, så kan ikke smide det ind fra en while-løkke i .cs filen uden at skulle bruge findcontrol. Vil hellere bruge SQL.
Indlæg senest redigeret d. 11.09.2012 09:39 af Bruger #16025