webForumDet fria alternativet

Slå samman två selects

Databaser & SQL

3 svar · 384 visningar · startad av Percy

Medlem sedan mars 2000187 inlägg
Frågan#1

Hej!

Jag har två tabeller:
ImageGroup
Image

ImageGroupId är PK i Imagegroup och FK i Image, således ImageGroup kan bestå av en eller flera bilder.

En bildgrupp har i sin tur ett ModuleId för att ange på vilken sida på en site som bildgruppen ska visas.

utifrån ett känt värde på ModuleId vill jag få fram alla bildgrupper samt den första bilden i respektive grupp.

Har dessa selects nu som funkar var och en för sig, men hur gör jag för att få ihop dessa:

SELECT ImageModuleId, ImageGroupOrder, ImageGroupDescription, ImageGroupId FROM ImageGroup WHERE ImageModuleId = 33

SELECT TOP 1 ImageId, ImagePath, ImageThumbnailPath, ImageOrder FROM Image WHERE ImageGroupId = x ORDER BY ImageOrder ASC

x:et i den andra selecten skall vara det värde på ImageGroupId som man får i den första selecten..

Krånglade jag till det?

Ngn som kan bidra med ngt i rätt riktning? har suttit o provat mig fram utan att komma fram till en lösning :(

Medlem sedan dec. 200012 464 inlägg
#2
SELECT ImageModuleId, ImageGroupOrder, ImageGroupDescription, ImageGroupId,
imageId, ImagePath, ImageThumbnailPath, ImageOrder 
FROM ImageGroup img
inner join Image i on img.imageGroupId = i.imageGroupId
WHERE ImageModuleId = 33
and imageOrder in (
select min(imageOrder) 
 from image
 where ImageGroupId = i.ImageGroupId)
Medlem sedan mars 2000187 inlägg
#3

tack LarsG, funkar toppen!

Medlem sedan nov. 20017 144 inlägg
#4

Klicka här Percy

384 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
123 ms — deklarationer (db)
122 ms — hämta statistik (db)
137 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)