[Access] 2 Tabellen met elkaar vergelijken

Pagina: 1
Acties:
  • 101 views sinds 30-01-2008
  • Reageer

  • DarkShadow
  • Registratie: Juli 2000
  • Laatst online: 27-05 00:03
Ik heb 2 tabellen in Access, ze hebben allebei de waarde 'STAT' in een kolom.
Nu heb ik een tabel met alle weerstations (hun namen en id (STAT is ID)) en een tabel met gegevens voor weerstations (en dus ook een kolom met STAT).

Nu wil ik graag weten voor welke weerstations ik gegevens heb. Dacht dat dat wel gemakkelijk zou gaan, dus ik had dit in een query geschreven:

code:
1
2
3
SELECT *
FROM Weerstations 
WHERE Debavdata.STAT=Weerstations.STAT


Vervolgens moet ik een waarde voor Debavdata.STAT invullen, terwijl ik gewoon alle STAT waarden van Debavdata met Weerstations wil vergelijken...

Ook deze query werkt niet:
code:
1
2
3
SELECT *
FROM Weerstations
INNER JOIN Debavdata ON Debavdata.STAT=Weerstations.STAT


Dan krijg ik deze foutmelding:
Typen in expressie komen niet overeen.
Wat doe ik fout :? Alvast bedankt :)

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 22:24

gorgi_19

Kruimeltjes zijn weer op :9

/luimodus

Select Distinct Stat FROM deBavData Where STAT In (Select Stat From Weerstations)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • DarkShadow
  • Registratie: Juli 2000
  • Laatst online: 27-05 00:03
gorgi_19 schreef op 11 maart 2004 @ 10:02:
/luimodus

Select Distinct Stat FROM deBavData Where STAT In (Select Stat From Weerstations)
gegevenstypen komen niet overeen in criteriumexpressie, kan je de query ff in de juiste formulering geven? :P

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 22:24

gorgi_19

Kruimeltjes zijn weer op :9

DarkShadow schreef op 11 maart 2004 @ 10:17:
[...]


gegevenstypen komen niet overeen in criteriumexpressie, kan je de query ff in de juiste formulering geven? :P
Is Stat een reserved word oid ?:?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 26-05 00:01

Janoz

Moderator Devschuur®

!litemod

Misschien is STAT in de ene tabel wel een tekst veld terwijl het in de ander een getal is. Dat is tenminste wat ik op maak uit de foutmeldijng. Je eerste query gaat trouwens fout omdat je wel gegevens uit twee tabellen gebruikt, maar maar 1 tabel in je from gedeelte opneemt.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Wat zit er in stat in tabel deBavData en in stat in de tabel Weerstations?
Zijn de veldtypes van die stat-velden in beide tabellen gelijk ?

https://fgheysels.github.io/


  • DarkShadow
  • Registratie: Juli 2000
  • Laatst online: 27-05 00:03
hmm zou het niet weten, laat ik het ff veranderen in STAT_ID ofzo, dat zou dan wel moeten werken toch?

  • DarkShadow
  • Registratie: Juli 2000
  • Laatst online: 27-05 00:03
whoami schreef op 11 maart 2004 @ 10:24:
Wat zit er in stat in tabel deBavData en in stat in de tabel Weerstations?
Zijn de veldtypes van die stat-velden in beide tabellen gelijk ?
voor zover ik weet wel, waar kan je dat zien, er staan iig wel dezelfde soort waarden in

  • Wokschotel
  • Registratie: December 1999
  • Laatst online: 27-05 06:43

Wokschotel

Op 6 wielen

DarkShadow schreef op 11 maart 2004 @ 10:25:
[...]


voor zover ik weet wel, waar kan je dat zien, er staan iig wel dezelfde soort waarden in
Wat dacht je ervan om eens te kijken wat voor datatype het is (in je tabelontwerp dus). In een tekstveld kunnen best wel nummers staan waardoor het lijkt alsof het een numeriek veld is :P

  • DarkShadow
  • Registratie: Juli 2000
  • Laatst online: 27-05 00:03
Het datatype is nu allebei tekst :), en de tweede query werkt, maar niet goed, hij doet alles voor elke rij van debavdata, dus in totaal 300000 keer :{

beetje veel dus, hij moet gewoon weergeven voor welke weerstations er debavdata is, dat is dus hooguit 25 keer ofzo

hmm de eerste query werkt trouwens ook, maar precies hetzelfde resultaat als de eerste :(

edit: hmm het werkt al, distinct did the trick:

[ Voor 22% gewijzigd door DarkShadow op 11-03-2004 11:54 ]


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
code:
1
2
3
SELECT *.Debavdata
FROM Debavdata 
RIGHT JOIN Weerstations ON Debavdata.STAT=Weerstations.STAT


dit is ook heel makkelijk te maken met de design mode van een query in access

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • Wokschotel
  • Registratie: December 1999
  • Laatst online: 27-05 06:43

Wokschotel

Op 6 wielen

DarkShadow schreef op 11 maart 2004 @ 11:10:
Het datatype is nu allebei tekst :), en de tweede query werkt, maar niet goed, hij doet alles voor elke rij van debavdata, dus in totaal 300000 keer :{

beetje veel dus, hij moet gewoon weergeven voor welke weerstations er debavdata is, dat is dus hooguit 25 keer ofzo

hmm de eerste query werkt trouwens ook, maar precies hetzelfde resultaat als de eerste :(
Datatype kun je beter numeriek hebben als je dit soort dingen gaat doen IMHO, maargoed, als de tekstvelden echt gelijk zijn aan elkaar zou het ook moeten werken.

Proberr dit eens:

SELECT DISTINCT *
FROM Weerstations
INNER JOIN Debavdata ON Debavdata.STAT=Weerstations.STAT

  • DarkShadow
  • Registratie: Juli 2000
  • Laatst online: 27-05 00:03
het werkte al, was vergeten op verstuur bericht te klikken :)

Alle methoden werken opzich wel, alleen dat distinct was dus best belangrijk, *.debavdata wat minder slim doordat ik dan een heleboel info krijg (20 kollommen) moet zijn *.weerstations

Verder wou ik ook de velden numeriek maken, maar debavdata is zo'n grote tabel dat hij dat niet kon veranderen
Pagina: 1