Toon posts:

[SQL/Access] Innerjoin problemen

Pagina: 1
Acties:
  • 32 views sinds 30-01-2008

Verwijderd

Topicstarter
Voor een soort forum wil ik een zoekfunctie maken.
Deze moet 2 tabellen afzoeken
Posten
PostReply

In deze tabellen moet de query de volgende kolommen afzoeken:
Posten : Onderwerp en Post
PostReply: Reply

Nu komt de zoekterm binnen via een formulier en wordt deze in een variabele gestopt “zoekterm”

In het verleden heb ik een dergelijke zoekquery gemaakt alleen met 1 tabel deze zag er zo uit
code:
1
strQuerySEARCH = "SELECT * FROM voorraad WHERE (artikel LIKE '%"&zoekterm&"%') OR (fabrikaat LIKE '%"&zoekterm&"%') OR (type LIKE '%"&zoekterm&"%') OR (opmerking LIKE '%"&zoekterm&"%')"


Nu wil ik dus in 2 tabellen gaan neuzen en heb getracht dit met INNERJOIN op te lossen
code:
1
QueryPost = "SELECT * FROM Posten INNERJOIN PostReply ON (Onderwerp LIKE '%"&zoekterm&"%') OR (Post LIKE '%"&zoekterm&"%') OR (Reply LIKE '%"&zoekterm&"%')"


Deze query geeft deze error:
Error Type:
Microsoft JET Database Engine (0x80040E14)
Syntax error in FROM clause.

  • Dido
  • Registratie: Maart 2002
  • Laatst online: 11:11

Dido

heforshe

Als jij een join wilt doen, dan doe je een join ON (op) de sleutelvelden. Welke zijn dat :?

Wat betekent mijn avatar?


Verwijderd

De syntax van de innerjoin klopt ook niet.

Je moet joinen op twee kolommen (bijv. de primaire sleutels) en daarna pas de like selectie maken.

select * from post innerjoin postreply on (post.id = postreply.id) where (kolom like ...) etc

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Getver, een inner join gebruiken en dan een like, dit kan toch niet waar zijn. Maar goed, de foutmelding geeft aan dat je een syntax fout maakt. En die is vrij eenvoudig met de helpfile van access of Jet te verhelpen. Hint: spatie ergens in het woord INNERJOIN opnemen, jij mag raden waar.

  • whoami
  • Registratie: December 2000
  • Nu online
Sorry hoor, maar dit is gewoon een gevalletje: manual erbij nemen en kijken hoe de syntax wel is.

Je query zoals die nu is zal trouwens een cartesisch product genereren, aangezien je geen join conditie hebt.

[ Voor 36% gewijzigd door whoami op 20-09-2006 16:32 ]

https://fgheysels.github.io/


Dit topic is gesloten.