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
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