Avatar billede royal12 Nybegynder
25. marts 2002 - 13:48 Der er 5 kommentarer og
1 løsning

fra en tabel til en anden

Hvordan laver ser et sql script ud der tager noget
fra en tabel tjekker om det findes i en anden tabel og hvis det ikke går bliver det lagt over?

Altså en slags updatering mellem to tabeller.

Mvh
royal
Avatar billede teepee Nybegynder
25. marts 2002 - 13:57 #1
Hvis du laver en komplet select fra den ene tabel og trækker alt fra, der ligger i den anden, så har du differencen, og den skal du blot indsætte. Hvis tabellerne har samme kolonner kan du bruge noget a la...

insert into tabel2
select * from tabel1
minus
select * from tabel2
Avatar billede teepee Nybegynder
25. marts 2002 - 13:58 #2
Hvis tabellerne ikke er helt ens, så specificér selv lige kolonnerne...

insert into tabel2 (kol1, kol2, kol3)
select kol1, kol5, kol9 from tabel1
minus
select kol34, kol99, kol12 from tabel2
Avatar billede teepee Nybegynder
25. marts 2002 - 14:00 #3
=> du kan altså også gøre det selvom det ikke er alle data du skal bruge, sæt blot en where clause på den ene, eller begge selects
Avatar billede royal12 Nybegynder
25. marts 2002 - 14:03 #4
Desværre ligner de ikke hinanden kan du give et eksemple med følgene:
Tabel1: MedInit, MedNavn
Tabel2: Init, Navn

Hvor tabel 1 skal opdateres med tabel 2
Avatar billede teepee Nybegynder
25. marts 2002 - 14:08 #5
insert into tabel1(medinit, mednavn)
select init kol1, navn kol2
from tabel2
minus
select medinit kol1, mednavn kol2
from tabel1


På dansk, tag alt fra tabel2, træk de rækker som findes i tabel1 fra, og indsæt i tabel1. Kol1 og kol2 er blot alias'er som sandsynligvis ikke er nødvendige.
Avatar billede royal12 Nybegynder
25. marts 2002 - 14:18 #6
tak tak
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