Avatar billede kornum Nybegynder
09. maj 2005 - 14:57 Der er 10 kommentarer og
1 løsning

2 tabeller hvor det ene indhold skal over i den anden -dupletter.

Hejsa!

Vi har et lille projekt i skolen og nu har vi en valutatabel i MS SQL som mangler nogle kurser osv.. Det har vi så i en anden tabel hvor der er gennemsnit kurser for dagene...
Nu skal vi så have ført de datoer med kurser over i den gamle valutatabel, hvor altså der ikke er nogen kurser...

Tror måske det er noget distinct, vi skal have sving i...

Nogle gode idéer?
Avatar billede terry Ekspert
09. maj 2005 - 15:04 #1
This is just to get you going in th eright direction

INSERT INTO YourTable SELECT * FROM SomeOtherTable WHERE NOT EXIST SELECT......

Your not going to learn much if I do it for you :o)
Avatar billede ldanielsen Nybegynder
09. maj 2005 - 15:25 #2
I stedet for at føre dem over kan du lade dem bliv hvor de er, og så lave et view der samlaer dem.

Først selecter du dem der kommer fra den gamle tabel:

SELECT kolonne1, kolonne2, kolonne3 FROM glTabel WHERE .....


Så selecter du dem fra den nye:

SELECT kolonne1, kolonne2, kolonne3 FROM nyTabel WHERE .....

Du skal selv skrive det efter WHERE, jeg ved jo ikke hvordan det skal være.

Så samler du dem med UNION:

SELECT kolonne1, kolonne2, kolonne3 FROM glTabel WHERE .....
UNION
SELECT kolonne1, kolonne2, kolonne3 FROM nyTabel WHERE .....


Hvis der er rækker der er HELT ens i de to select's, så vil de kun blive vist én gang, det er en indbygget funktion ved UNION
Avatar billede kornum Nybegynder
09. maj 2005 - 15:29 #3
Lyder fornuftigt Idanielsen....

Men f.eks. i det tilfælde hvor der er 2 med ens dato skal man være sikker på man benytter den kurs fra den gamle tabel... Er man jo ikk helt, hvordan klares det?
Avatar billede terry Ekspert
09. maj 2005 - 15:29 #4
INSERT INTO tblglKurser
SELECT *
FROM tblKurser T Where NOT exists (SELECT * FROM tblglkurser TG WHERE TG.Valuta = T.Valuta and TG.dato = T.Dato)
Avatar billede kornum Nybegynder
09. maj 2005 - 15:32 #5
Lyder os super fornuftigt Terry... Jeg ser på det i skolen på fredag, kan desværre ikk før... Håber det spiller, på forhånd takker..
Avatar billede ldanielsen Nybegynder
09. maj 2005 - 15:41 #6
SELECT kolonneID, kolonne2, kolonne3 FROM glTabel
UNION
SELECT kolonneID, kolonne2, kolonne3 FROM nyTabel WHERE kolonneID NOT IN
(SELECT kolonneID FROM glTabel WHERE glTabel.Dato = nyTabel.Dato)

Men hvis det kun er denne ene gang du skal overføre data, så skal du helt klart følge terry's metode.
Avatar billede kornum Nybegynder
09. maj 2005 - 15:45 #7
Takker for alle de gode råd... Ser på det på fredag...
Avatar billede terry Ekspert
21. maj 2005 - 13:47 #8
status?
Avatar billede terry Ekspert
23. maj 2005 - 21:00 #9
which friday ? :o)
Avatar billede kornum Nybegynder
24. maj 2005 - 07:57 #10
Heya.. Sorry terry jeg er så sløv... Men yep dit funkede fint:)

Mange takker for hjælpen!
Avatar billede terry Ekspert
24. maj 2005 - 09:12 #11
Thanks, gald to hear it works
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