17. februar 2009 - 11:06Der er
6 kommentarer og 1 løsning
slet hvor dato er nyere end dato
Hej Eksperter...
Jeg har et lille problem i et projekt.
Jeg har en db der indeholder store mængder dato. Vi indsætter nye rækker hele tiden og det er derfor vigtigt at to rækker ikke er ens.
Dermed forstået at vi indsætter et nummer (ordrenummer) i en kolone samt meget andet data.
Når jeg indsætter ny data skal jeg tjekke hvis der er 2 med samme ordrenummer. Hvis dette er tilfelde skal jeg slette alle der har en dato der er ældre end den nyeste. Så der kun er en tilbage med samme ordrenummer.
Jeg tænker selv noget i retning af:
DELETE from table WHERE (ordrenumber='mynumber' AND dato < dato)
Dette er dog ikke noget min sql synes er så sjovt... :)
Jeg udvikler i C# og synes det er lidt krævende hvis jeg skal lave mine gennemløb mere avandceret...
" DELETE from table WHERE (ordrenumber='mynumber' AND dato < getdate()) " det er forkert! Fordi den skal jo ikke finde dem der er nyere end lige nu og slette dem. (det vil være alle i 100% af tilfældene)
Mit dato felt er DateTime og ordrenumber er for såvidt lige gyldigt da det blot bliver valgt hvilke rækker der skal kigges på.
"alle der har en dato der er ældre end den nyeste" er så ikke dags dato? Nej ikke nødventigvis da jeg godt kan indsætte en ny som ikke har dagsdato, men en dato som er ældre.
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.