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

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