Avatar billede Per Juniormester
05. april 2017 - 10:53 Der er 11 kommentarer og
1 løsning

INNER JOIN

Hej
Jeg vil høre om det er muligt at lave et INNER JOIN hvor man "sætter" 2 tabeller sammen. ikke ved at sætte IDtabel1 = IDtabel2, men ved at man finder en tekst streng i begge tabeller der er = hinanden
eks:
tabel1 = Hamburg
tabel2 = Hamburg Port

Eller

Tabel1, Port1 = Hamburg
Tabel2, Port2 = Bremerhaven, Hamburg

hvor Hamburg i begge tilfælde er fællesnævner

jeg har forsøgt med nedenstående
FROM Tabel1 INNER JOIN Table2 LIKE.Port1 = %Tabel2.Port2%;

men det virker ikke, så jeg har brug for lidt hjælp

på forhånd tak

m.v.h.
Per Aarup-Jensen
Avatar billede michael_stim Ekspert
05. april 2017 - 10:58 #1
Nu ved jeg ikke hvordan det fungerer i Access men alle andre skal have en ON med:

FROM Tabel1 INNER JOIN Table2 ON Tabel1.Port1 LIKE %Tabel2.Port2%;
Avatar billede Per Juniormester
05. april 2017 - 11:19 #2
Hej Michael

jeg har prøvet med det du har skrevet, men får fejl ved at bruge %
når de fjernes - virker det på Hamburg = Hamburg
dvs at jeg ikke kan bruge "Vild card"

Per
Avatar billede michael_stim Ekspert
05. april 2017 - 11:21 #3
Du skal nok "bare" separere strings og variabler ;-)

Jeg copy/pastede bare din tekst.
Avatar billede michael_stim Ekspert
05. april 2017 - 11:25 #4
Ser ud til at at access bruger Asterix (*) som wildcard.
Avatar billede acore Ekspert
05. april 2017 - 11:27 #5
FROM Tabel1 INNER JOIN Table2 ON Tabel1.Port1 LIKE '%'+Tabel2.Port2+'%';
Avatar billede terry Ekspert
05. april 2017 - 11:41 #6
I think it would be a better idea to normalise your tables
Avatar billede Per Juniormester
05. april 2017 - 12:14 #7
hello Terry
i know that it would be better if i use the id, but I join several excel sheets that i receive from shipping lines and they do not write the name of the ports the same way. its working already with a simpel Query where i use "*" from "*", but it would be perfect if i can combine with another tabel
Per
Avatar billede Per Juniormester
05. april 2017 - 12:15 #8
hej Acore
jeg får ikke det til at virke med '%'+Tabel2.Port2+'%';
Per
Avatar billede acore Ekspert
05. april 2017 - 12:43 #9
Giver den fejl eller forkert resultat? Måske skal % erstattes med * som foreslået i #4? Det kan bringes til at virke, men er ikke selv så skarp på Access sql.
Avatar billede terry Ekspert
05. april 2017 - 12:51 #10
SELECT tabel1.Port, tabel2.Port
FROM tabel1 INNER JOIN tabel2 ON (tabel1.Port Like '*' & tabel2.Port & '*') OR (tabel2.Port Like '*' & tabel1.Port & '*');
Avatar billede Per Juniormester
05. april 2017 - 13:08 #11
Hej terry

det var det der skulle til - mange tak !

m.v.h.
Per
Avatar billede terry Ekspert
05. april 2017 - 13:32 #12
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