Avatar billede benner Nybegynder
22. februar 2003 - 21:56 Der er 3 kommentarer og
1 løsning

Adresse opdatering

Hej
Jeg har to tabeller med navne, adresse og ID oplysninger.
[Gl] ID, Navn, Adresse, PostNr, PostBy
[Ny] ID, Navn, Adresse, PostNr, PostBy, Status
Status indeholder værdien 1 hvis personen findes i [Gl] med andre oplysninger i mindst et felt.
Da jeg har navne oplysninger i begge tabelle som ikke findes i den anden tabel (og de skal heller ikke med), mangler jeg en opdateringsrutine. Jeg havde forestillet mig noget lignende det:
Update Gl set Navn = n, Adresse = a, PostNr = pn, PostBy = pb where ID in (Select ID, Navn as n, Adresse as A, PostNr as pn, PostBy as pb From Ny Where Status = 1)
Men feltnavne (n, a, pn og pb) kan ikke tilgåes fra udpate sætningen.
Hvem kan guide mig i den rigtig retning?
Avatar billede cooljay2000 Nybegynder
22. februar 2003 - 23:19 #1
Man kan lave set=<subselect>!
Update Gl set Navn = (select Navn From Ny Where Status = 1 and ny.id=gl.id)
......

Alternativt skal du i gang med stored procedures!
Avatar billede bennytordrup Nybegynder
24. februar 2003 - 09:10 #2
update gl
set Navn = Ny.Navn, Adresse = Ny.Adresse, PostNr = ny.Postnr, Postby = ny.postby
from Gl g inner join Ny on g.ID = Ny.ID
where ny.Status = 1
Avatar billede benner Nybegynder
24. februar 2003 - 18:15 #3
cooljay2000: Dit forslag har en uheldig effekt, de personer som har status 1 får godt nok tilskrevet de nye værdier fra Navn, men alle øvringe i Gl får slette oplysningerne i Navn.

benny.tordrup: Dit forslat har jeg ikke fået testet endnu, da mit problem har en ekstra lille krølle, som jeg ikke har nævnt. Ny indeholder fakfisk ikke ID, men tilgengælt CPR, og jeg har en tredje tabel Lbnr som indeholder ID og CPR. Hvordan min "inner join" så skal ser ud, er jeg ikke helt sikker på.
Avatar billede benner Nybegynder
24. februar 2003 - 18:34 #4
Det lykkedes at udvide min "inner join", hvor efter opdateringen arbejder som forventet.

Stor 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