Hejsa,
Jeg har bøvlet lidt med at finde de nyeste poster i en tabel. Lad os
forestille os at jeg har en tabel med nedenstående format (den er
simplificeret for nemhedens skyld, men problemstillingen består):
tabelID (Primærnøgle, der kun bruges til dette pt. - auto increment)
oprettelsesdato (et automatisk timestamp for hvornår data er indsat)
eksterntID (et ID, der referer til et eksternt objekt. - dette er en
fremmednøgle i mange enden af en en-til-mange relation).
indhold (en række felter til indholdet i posten)
Tabellen skal bruges i forbindelse med versionering. Der vil altså være
masser af poster med det samme 'eksterntID' - men med tabelID og
oprettelsesdato anderledes (indholdet vil højst sandsynligt også blive
ændret, men det kan ikke garanteres).
Det jeg er interesseret i er at trække de nyeste poster ud for hvet
'eksterntID'. Dette er ikke noget problem, når der kun er for et
"eksterntID" jeg ønsker at gøre det, da man her vil kunne trække alle ud,
rangordne dem efter dato og kun trække den øverste post ud. Men lige så
snart jeg skal bruge mere end en post - eks. en oversigt over alle poster
med forskellige 'eksterntID' i deres nyeste form, så løber jeg ind i
problemer.
Er der nogen, der har et godt bud på denne problemstilling? Da det er MySQL
der bliver brugt har jeg desværre ikke mulighed for subselects eller den
slags
Min ikke så pæne, men brugbare løsning, som jeg pt. overvejer at tage i brug
er at bruge et felt i en anden tabel til at indikere 'tabelID' for den
nyeste udgave, og så vedligeholde denne ved hver insert i ovenstående tabel.
Det er bare ikke en pæn løsning, så jeg håber at der er nogen, der har en
god ide.
På forhånd tak for hjælpen.
Venlig hilsen
Dann Pedersen