webForumDet fria alternativet

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

Databaser & SQL

4 svar · 518 visningar · startad av saw

Medlem sedan mars 20011 880 inlägg
Frågan#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

Medlem 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
Medlem 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?

Medlem 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.

Medlem sedan mars 20011 880 inlägg
#5

Detta blev tyvärr dubbelpostat.

269 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)