webForumDet fria alternativet

Sortera resultatet fran en tabell beroende av värden fran en annan tabell

Databaser & SQL

4 svar · 199 visningar · startad av jepsO

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

Oj, lang rubrik ... I alla fall:

Jag har tva tabeller:

album
id
anvid
namn
personligt

bilder
id
album
datum

Det jag vill astadkomma är en SELECT av id och namn fran album, sorterad efter datum i bilder. Alltsa: Det album som senast uppdaterats med bilder ska visas först.

Att fälten anvid och personligt finns med beror pa att den nuvarande SELECTen ser ut som följer:

SELECT * FROM album WHERE personligt = 0 OR (personligt = 1 AND anvid = {$_SESSION['anvid']}) ORDER BY namn

Betydelsen av WHERE-delen är att om ett album är satt som personligt ska det bara visas om "ägaren" till albumet är den som är inloggad.

Mina JOIN-kunskaper är hyfsat begränsade, sa lite hjälp pa traven med att böka om ovanstaende SELECT vore super.

Tack.

Medlem sedan mars 20025 907 inlägg
#2
select id, namn 
from album as a, bilder as b 
where (personligt = 0 or (personligt = 1 AND anvid = {$_SESSION['anvid']})) 
and a.id = b.id
order by b.datum desc

eller?

Medlem sedan mars 2001484 inlägg
#3

Hmm, sorteringen blir rätt, men om till exempel de tre senaste bilderna av totalt fem laddats upp i albumet AndraAlbumet med id 2, och de övriga tva bilderna ligger i albumet FörstaAlbumet med id 1 blir utskriften:

2 AndraAlbumet
2 AndraAlbumet
2 AndraAlbumet
1 FörstaAlbumet
1 FörstaAlbumet

Varje album ska bara väljas en gang, alltsa:

2 AndraAlbumet
1 FörstaAlbumet

Tack sa langt iaf :) .

Medlem sedan dec. 200012 464 inlägg
#4
select id, namn ,max(b.datum) as lastDate
from album as a, bilder as b 
where (personligt = 0 or (personligt = 1 AND anvid = {$_SESSION['anvid']})) 
and a.id = b.id
group by id,namn
order by lastDate desc
Medlem sedan mars 2001484 inlägg
#5

My god that's beautiful -- tack!

260 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)