webForumDet fria alternativet

Behöver hjälp med att ändra en sql

4 svar · 518 visningar · startad av saw

sawMedlem sedan mars 20011 880 inlägg
#1

Så här ser min sql ut:

        sql = "SELECT t_Forum.id AS forumId, t_Forum.hits, t_Forum_Kategori.id AS katId,
 t_Forum_Kategori.kategori, t_Forum_Kategori.moderat, t_Forum_Kategori.beskrivning, 
t_Forum.katId, t_Forum.orginal, t_Forum.rubrik, t_Forum.nick, t_Forum.datum, t_Forum.icon " +
 " FROM t_Forum_Kategori LEFT JOIN t_Forum ON t_Forum_Kategori.id = t_Forum.katId 
WHERE t_Forum.orginal=True ORDER BY  t_Forum_Kategori.kategori;";

Det jag skulle vilja ändra på är att den skall bara visa max 5 st forumstrådar
i varje kategori.
Jag utgår ifrån att Top 5 t_Forum.id inte duger... :OO

Peter SMedlem sedan dec. 20025 483 inlägg
#2
SELECT	f.id AS forumId, f.hits, t_Forum_Kategori.id AS katId,
	t_Forum_Kategori.kategori, t_Forum_Kategori.moderat, t_Forum_Kategori.beskrivning, 
	f.katId, f.orginal, f.rubrik, f.nick, f.datum, f.icon 
FROM 
	t_Forum_Kategori LEFT JOIN t_Forum  f
	ON 
	t_Forum_Kategori.id = f.katId 
WHERE 
	t_Forum.orginal=True and f.id
	in
	( select top 5 id from t_forum where id = f.id order by datum desc )
ORDER BY  
	t_Forum_Kategori.kategori
sawMedlem sedan mars 20011 880 inlägg
#3

Det ser kanon ut skall pröva ikväll. En liten undran, det går inte i samma sql lägga till så att man kan räkna hur många svar ett forum har, eller måste man köra en sql till?

sawMedlem sedan mars 20011 880 inlägg
#4

Enlig Access så ville han ha det så här


SELECT f.id AS forumId, f.hits, t_Forum_Kategori.id AS katId,
           t_Forum_Kategori.kategori, t_Forum_Kategori.moderat,
           t_Forum_Kategori.beskrivning, f.katId, f.orginal, f.rubrik, f.nick,
           f.datum, f.icon, f.orginal
FROM 
           t_Forum_Kategori LEFT JOIN t_Forum AS f 
           ON 
           t_Forum_Kategori.id = f.katId
WHERE 
          f.id In (select top 5 id from t_forum where id = f.id order by datum
          desc ) AND f.orginal=True
ORDER BY 
          t_Forum_Kategori.kategori;

..det är alltså f.orginal=True som jag fick ändra på.
Nu fungerar detta.

sawMedlem sedan mars 20011 880 inlägg
#5

Detta blev tyvärr dubbelpostat.

132 ms totalt · 3 externa anrop · v20260731065814-full.ca5a5675
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)