Avatar billede net-base.dk Nybegynder
13. juni 2004 - 13:30 Der er 10 kommentarer og
2 løsninger

hente sidste linje

Hej...

Er det muligt at lave et SQL sætning der henter den sidste linje i en tabel??? uden at man skal give nogle info en denne linje?
Avatar billede Slettet bruger
13. juni 2004 - 13:33 #1
Prøv at forklar lidt detaljeret hvad du mener.
Avatar billede net-base.dk Nybegynder
13. juni 2004 - 13:37 #2
jeg har et kunde tabel, og når jeg har indtastet en kunde giver den automatisk kunden en kundeid.

så skal have hentet den sidste linje i tabellen, da det er der kunden er, eller det  højeste kundeid, kan man vel godt søge efter.
Avatar billede net-base.dk Nybegynder
13. juni 2004 - 13:43 #3
er lidt træt så staver af lort...
Avatar billede net-base.dk Nybegynder
13. juni 2004 - 13:54 #4
Just forget
Avatar billede thesurfer Nybegynder
13. juni 2004 - 14:08 #5
Hvad med noget i stil med:

select top 1 from TABELNAVN order by KUNDEID DESC

Den burde hente 1 linie/record, fra tabellen "TABELNAVN", hvor der sorteres efter KUNDEID, og denne skal være faldende.
Avatar billede thesurfer Nybegynder
13. juni 2004 - 14:09 #6
..med andre ord: det nyeste/højste kundeid der findes i tabellen.
Avatar billede arne_v Ekspert
13. juni 2004 - 18:01 #7
Der er ikke noget som hedder sidste række i en tabel. Der er kun noget hedder sidste
række i et udtræk med en bestemt sortering.

Som thesurfer skrev:

SELECT TOP 1 * FROM tabelnavn ORDER BY feltnavn DESC

eller alternativt:

SELECT * FROM tabelnavn WHERE feltnavn = (SELECT MAX(feltnavn) FROM tabelnavn)
Avatar billede dmk Nybegynder
14. juni 2004 - 12:40 #8
Det smarteste ville være, at du laver en primary key på din tabel, der bliver erklæret med IDENTITY. Når du har indsat en ny kunde i din tabel, vil IDENTITY kolonnen automatisk blive talt op, og den værdi kunden er oprettet med, vil du kunne aflæse med @@IDENTITY.

Det med at hente sidst-indsatte row med en select og en order by kan være farligt, da der jo kan være andre applikationer der har indsat noget efter dig, og så får du deres indsatte værdi i stedet for din egen. Det skal man være meget forsigtig med.

/DMK
Avatar billede arne_v Ekspert
14. juni 2004 - 12:53 #9
Hvis problem stillingen er at hente den række man lige har indsat, så er det den
korrekte løsning.

Jeg tillod mig at antage at "sidste linie" faktisk betød "sidste linie".
Avatar billede janus_007 Nybegynder
14. juni 2004 - 18:00 #10
Uden at angive info... hmmm


Så må det være arne's version *G*

(Man kan ikke uden videre bare skrive desc, så kræver det at man kender til sortorder i index'et.)

Så max må være den funker max :O)
Avatar billede net-base.dk Nybegynder
15. juni 2004 - 13:36 #11
det var noget jeg skulle have brugt til et projekt men fandt en anden måde at gøre det på, men bare smid et svar og i får point.
Avatar billede arne_v Ekspert
15. juni 2004 - 14:00 #12
ok
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester