Avatar billede martens Guru
08. oktober 2018 - 21:32 Der er 5 kommentarer og
1 løsning

Indsætte værdier i tabel baseret på værdier der IKKE er i anden tabel

Dette spørgsmål kan kædes sammen med et tidligere spørgsmål jeg har oprettet ( SPM 1025575 )

Jeg har to tabeller tbl_a samt tbl_b
begge med et felt, der hedder Pool ( Henholdsvis Pool_a samt Pool_B )

i tbl_a er der følgende værdier :
Pool_a:

Brabrand
Aalborg
Skive

i tbl_b er der følgende værdier :
Pool_b:

Skive
København


Hvordan får jeg tilføjet de værdier, der er i tbl_a til tbl_b, der ikke er i tbl_b

altså så der i tbl_b kommer til at stå :

Brabrand
Aalborg
Skive
København


Jeg vil mene at det kan gøres i ét hug med en enkelt tilføjelsesforespørgsel, men for at jeg kan få det til at virke har jeg været nødsaget til at lave det i to tempi.

først har jeg lavet denne forespørgsel :
( hedder : tbl_a uden tilsvarende tbl_b  )

SELECT tbl_a.Pool_a
FROM tbl_a LEFT JOIN tbl_b ON tbl_a.[Pool_a] = tbl_b.[Pool_b]
WHERE (((tbl_b.Pool_b) Is Null));

Der viser at Brabrand samt Aalborg IKKE er i tbl_b

Derefter kører jeg denne forespørgsel :

INSERT INTO tbl_b ( Pool_b )
SELECT [tbl_a uden tilsvarende tbl_b].Pool_a
FROM [tbl_a uden tilsvarende tbl_b];

Det virker men det virker lidt "kluntet"

Er der én eller flere, der har et godt bud på en bedre løsning, der kan gøre det i ét hug  ?

på forhånd tak !

mvh martens
Avatar billede finb Ekspert
09. oktober 2018 - 09:26 #1
Utestet:
Vis Unikke værdier ?
Avatar billede terry Ekspert
09. oktober 2018 - 09:57 #2
One idea would be to make Pool_b field into a unique key then just insert all records from tbl_a, those already existing wouldnt be added.

But SQL is also possible

INSERT INTO tbl_b ( pool_b )
SELECT Pool_a
FROM tbl_a
WHERE ((([Pool_a]) Not In (select pool_b from tbl_b)))
Avatar billede terry Ekspert
09. oktober 2018 - 09:59 #3
INSERT INTO tbl_b ( pool_b )
SELECT Pool_a
FROM tbl_a
WHERE Pool_a Not In (select pool_b from tbl_b)
Avatar billede martens Guru
19. februar 2019 - 00:59 #4
Tak Terry ... Beklager det sene svar...  Men det spiller bare...

mvh martens
Avatar billede terry Ekspert
20. februar 2019 - 12:21 #5
Great ;-)
Avatar billede terry Ekspert
20. februar 2019 - 12:21 #6
og  selv 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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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