webForumDet fria alternativet

Hjälp med maffig SQL-sats!

3 svar · 508 visningar · startad av Annakay

AnnakayMedlem sedan sep. 2003143 inlägg
#1

Jag har ett bildgalleri där varje bild tillhör en kategori/mapp och en del bilder har kommentarer. Bildgalleriet ska listas genom att varje kategori/mapp ska illustreras av en slumpvald bild från det galleriet. Dessutom ska det listas under bilden hur många bilder som finns i kategorin/mappen och antal kommentarer. Hänger ni med? (Se bifogad illustration)

Följande tabeller finns:
-Kommentarer-
ID
user
kommentar
datum
bildID

-Bilder-
ID
user
folder
bildnamn

-Kategorier-
ID
parent
namn
user

Jag måste alltså välja ut kategorierna, en slumpvald bild för varje kategori, hur många bilder varje kategori har och hur många kommentarer bilderna har i varje kategori.

Har suttit läääänge och knåpat men jag får inte ihop det. Kan någon jättevänlig själ hjälpa...? Pleeease...

webforum_ill.gif
Erik JuhlinMedlem sedan maj 200010 687 inlägg
#2

Nåt sånt här kanske skulle funka...

select
	cat.Name,
	rndimg.Whatever,
	(select count(*) from Image img
	where img.CategoryId = cat.CategoryId) as ImageCount,
	(select count(*) from Comment com
	where exists (
		select * from Image img
		where img.CategoryId = cat.CategoryId
		and com.ImageId = img.ImageId
	)) as CommentCount
from
	Category cat
left outer join
	Image rndimg on rndimg.ImageId = (
		select top 1 img.ImageId from Image
		where img.CategoryId = cat.CategoryId
		order by newid()
	)
order by
	cat.Name
AnnakayMedlem sedan sep. 2003143 inlägg
#3

Tack för det snabba svaret! Modifierade koden lite till rätt tabell- och fältnamn och koden exekveras utan fel MEN fälten ImageCount och CommentCount visar bara 0...

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#4

Visa ett exempel så kanske jag eller någon annan kan hjälpa dig.

264 ms totalt · 3 externa anrop · v20260731065814-full.30151723
135 ms — hämta forumlista (db)
124 ms — hämta statistik (db)
138 ms — hämta tråd, inlägg och bilagor (db)