/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
SQL - at slette records efter TOP 10 ?
Fra : Jakob Munck


Dato : 22-07-02 19:49

Jeg har en site, hvor brugerne skal de de sidste 10 indskrevne tekster i en
gæstebog. Det virker fint, når jeg skriver det sådan i SQL:

SQL = "SELECT TOP 10 * FROM tbMeddelelser WHERE gruppeId = " & grId & "
ORDER BY Id DESC"
Set RS = Conn.Execute(SQL)

Men problemet er, at de tidligere indskrevne tekster jo ikke slettes på
denne måde, de vises bare ikke for gæsterne.
Men for at spare plads (selv om det ikke drejer sig om meget) ønsker jeg at
ændre min SQL således, at de records i tabellen, der ikke vises, helt bliver
slettet. Men jeg må indrømme, at jeg ikke helt kan forestille mig, hvordan
en sådan SQL-sætning skal skrives.

Hvordan skal ovenstående SQL-sætning ændres (evt. suppleres med en sætning
mere) så de records, der kommer efter "TOP 10" bliver slettet?

v.h.
Jakob Munck



 
 
Rune Baess (22-07-2002)
Kommentar
Fra : Rune Baess


Dato : 22-07-02 19:29


"Jakob Munck" <jakob.munck@tdcadsl.dk> wrote
[klip]
> Hvordan skal ovenstående SQL-sætning ændres (evt. suppleres med en sætning
> mere) så de records, der kommer efter "TOP 10" bliver slettet?
>

DELETE FROM tbMeddelelser
WHERE (Id NOT IN
(SELECT TOP 10 Id
FROM tbMeddelelser
WHERE gruppeId = " & grId & "
ORDER BY Id DESC))

Rune



Jakob Munck (23-07-2002)
Kommentar
Fra : Jakob Munck


Dato : 23-07-02 08:18

Virker perfekt. Mange tak !

v.h.
Jakob Munck




Søg
Reklame
Statistik
Spørgsmål : 177503
Tips : 31968
Nyheder : 719565
Indlæg : 6408541
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste