I en tabel har jeg en masse rækker. De har id, navn, kode (1 til 5) og dato.
Nu vil jeg gerne have alle id og navne som har koden mindre end 5, men kun de nyeste og der må ikke være et navn som har en kode 5 efter de har fået koden 1-4 (altså afhængigt af datoen) og navnet behøver kun at optræde en gang.
Denne her må give alle de navne som har en kode 5 og som har haft en kode 1,2,3 eller 4
select navn from MyTable m inner join MyTable m1 on m1.navn = m.navn where m.kode = 5 and m1.kode in(1,2,3,4)
Denne vil jeg smide ind her:
select id, navn, kode, dato from MyTable where navn not in( select navn from MyTable m inner join MyTable m1 on m1.navn = m.navn where m.kode = 5 and m1.kode in(1,2,3,4) ) order by dato desc
Nu ved jeg ikke lige hvordan "de nyeste" er tiltænkt, men ovenstående giver dig de nyeste først :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.