Avatar billede slumtiger Nybegynder
29. oktober 2003 - 16:35 Der er 2 kommentarer og
1 løsning

SQL: overfør højste værdi fra en tabel til en anden tabel

Hej

Jeg har en tabel1 med felterne nummer og version
Det der skal ske er at det record der har den største værdi i version inden for et givet nummer skal returneres og indsættes i en ny tabel2 (som er opbygget nøjagtigt som tabel1).
Eks.
Tabel1: nummer, version
          1111,    0001
          1111,    0002
          1111,    0003

Med en SQL skal skal tabel2 se således ud:
Tabel2: nummer, version
          1111,    0003

Jeg har prøvet med
      SQLCmd = "INSERT INTO Tabel2 " + _
              "SELECT TOP 1 Version " + _
              "FROM Tabel1 WHERE nummer='1111' " + _
              "ORDER BY Version DESC"
Avatar billede bjornicle Nybegynder
29. oktober 2003 - 16:42 #1
insert into tabel2 (nummer, version) select top 1 nummer, version from tabel1 where nummer = '1111' order by version desc
Avatar billede slumtiger Nybegynder
30. oktober 2003 - 10:58 #2
Du skriver at jeg faktisk skal fortælle hvilke felter i tabel2 der skal opdateres. Det er da heller ikke noget problem med 2 felter, men den reelle tabel indeholder ca. 50 felter.
Hvis jeg istedet for 'TOP 1 Version' skriver '*', virker det udemærket, bortset fra at jeg får alle nummer='1111' overført.
Avatar billede slumtiger Nybegynder
30. oktober 2003 - 11:31 #3
Løsningen er:
    SQLCmd = "INSERT INTO Tabel2 " + _
              "SELECT TOP 1 Tabel1.* " + _
              "FROM Tabel1 WHERE nummer='1111' " + _
              "ORDER BY Version DESC"
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
Kurser inden for grundlæggende programmering

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