Avatar billede haase Nybegynder
24. april 2002 - 14:15 Der er 14 kommentarer og
1 løsning

INNER JOIN

Det skulle være let nok at se hvad jeg vil hvis du ser denne SQL-forespørgsel:

SELECT Bruger.* FROM Stemme INNER JOIN Bruger ON Stemme.StemmeID = Bruger.Stemme

Problemet er bare at det ikke virker - jeg får en fejlmeddelelse om en syntax error i JOIN udtrykket.

Jeg kører MS Access 2000 DB
Avatar billede jkrons Professor
24. april 2002 - 14:20 #1
Prøv SELECT Bruger.* FROM Bruger INNER JOIN Stemme ON Stemme.StemmeID = Bruger.Stemme

ellers prøve du at vælge felter i brugertabellen fra stemmetabellen fra Stemme, og den går vidst ikke.
Avatar billede kimiwan Nybegynder
24. april 2002 - 14:23 #2
stemme.stemmeid skal svare til bruger.stemme - er stemme samme datatype som stemmeid?
Avatar billede haase Nybegynder
24. april 2002 - 14:28 #3
Mærkeligt - der virker heller ikke - Det er også den forespørgsel Access foreslår når man opretter en forespørgsel derinde....

Der kommer følgende fejlmeddelelse:

"Microsoft JET Database Engine error '50004005'
Type mismatch in expression."
Avatar billede haase Nybegynder
24. april 2002 - 14:30 #4
---> kimiwan - nemlig - ja
Avatar billede jkrons Professor
24. april 2002 - 14:31 #5
Det tyder på at datatypen som kiiwan anfører i Stemme.StemmeID og Bruger.Stemme ikke er ens, eller såfremt den er tal, at de ikke har samme feltlængde. Husk, at såfremt den ene fx er Autonummer, skal den anden være Langr heltal.
Avatar billede jkrons Professor
24. april 2002 - 14:42 #6
Har du prøvet at glemme din INNER JOIN?

Fx

SELECT bruger.*
FROM Bruger, Stemme
WHERE Stemme.StemmeID = Bruger.Stemme
Avatar billede haase Nybegynder
24. april 2002 - 14:48 #7
Så nu har jeg ændret datetyperne så de er samme slags - jeg får ingen fejl, men INNER JOIN fungerer ikke - jeg får simpelthen ikke de andre data fra tabellen Stemme ind....
Avatar billede jkrons Professor
24. april 2002 - 14:51 #8
Men det beder du faktisk heller ikke om. Du beder kun om at få data fra tabellen Bruger, for alle de brugere hvis stemme også findes i stemmetabellen.

Prøv evt.

SELECT *
FROM Bruger, Stemme
WHERE Stemme.StemmeID = Bruger.Stemme;

eller

SELECT * FROM Bruger INNER JOIN Stemme ON Stemme.StemmeID = Bruger.Stemme
Avatar billede terry Ekspert
24. april 2002 - 14:52 #9
Stemme.StemmeID and  Bruger.Stemme MUST BE SAME DATA TYPE
Avatar billede haase Nybegynder
24. april 2002 - 15:06 #10
Stemme.StemmeID og Bruger.Stemme er samme datatype.

Bruger.Stemme skal være lig Stemme.StemmeNavn - hvordan gør jeg det?
Avatar billede jkrons Professor
24. april 2002 - 15:09 #11
Hvis de har samme datatype og indhold kan du bare sætte dem lig hinanden.
Avatar billede haase Nybegynder
24. april 2002 - 16:07 #12
Hehe - jeg fatter minus af det hele tror jeg.

Jeg skal lave et udtræk af tabellen Bruger, hvor Bruger.Stemme som har samme værdi og er relateret til Stemme.StemmeID. Jeg skal bare ha den til at vise Stemme.Navn i tabellen Bruger.
Avatar billede jkrons Professor
24. april 2002 - 16:14 #13
Lad mig prøve om jeg har forstået dig rigtigt. Du vil gerne lave et udtræk af tabellen Bruger, men med Stemmenavn fra Stemme- tabellen?

Select Bruger.*, Stemme.Stemmenavn
FROM Bruger, Stemme
WHERE Bruger.Stemme = Stemme.StemmeID
Avatar billede haase Nybegynder
24. april 2002 - 16:44 #14
jeg fandt ud af det -
Avatar billede jkrons Professor
24. april 2002 - 17:03 #15
Lucky you! 8:-)) Tak for point
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