Voor een zoekmachine/website (IIS / ASP / Access) is het uitgangspunt de tabel: tblBedrijf
Via de website kun je een gehele lijst oproepen van bedrijven, maar middels dropdownsboxen kun je je zoekresultaat verfijnen met verschillende criteria:
tblBEDRIJF_PROVINCIE -> criteria provincie
tblBEDRIJF_DOELGROEP -> criteria doelgroep
etc etc in totaal zijn er 5 criteria
Nu wil ik een universele query maken in access, die het mogelijk maakt om zowel een gehele lijst op te roepen, alswel een verfijnde selectie van de bedrijven.
Als ik deze query heb:
dan leek het in eerste instantie goed te gaan; tot een bedrijf gekoppeld werd aan meerdere criteria van dezelfde categorie;
stel dat een bedrijf gekoppeld was aan zowel aan de provincie limburg en noordholland, dan komt die in het zoekresultaat ook dubbel voor als record.
Hoe kan ik dit voorkomen? (Een DISTINCT gaat volgens mij niet werken, omdat ik 5 verschillende criteria heb. En een GROUP BY ook niet)
(Als ik dit eenmaal goed voor elkaar heb, is niet meer zo moeilijk om de WHERE clause af te maken met in te vullen criteria)
Via de website kun je een gehele lijst oproepen van bedrijven, maar middels dropdownsboxen kun je je zoekresultaat verfijnen met verschillende criteria:
tblBEDRIJF_PROVINCIE -> criteria provincie
tblBEDRIJF_DOELGROEP -> criteria doelgroep
etc etc in totaal zijn er 5 criteria
Nu wil ik een universele query maken in access, die het mogelijk maakt om zowel een gehele lijst op te roepen, alswel een verfijnde selectie van de bedrijven.
Als ik deze query heb:
code:
1
2
| SELECT tblBEDRIJF.BEDRIJF_ID, tblBEDRIJF.BEDRIJF_NAAM, tblBEDRIJF.BEDRIJF_PLAATS, tblBEDRIJF.BEDRIJF_ZOEK_OMSCHR FROM ((((tblBEDRIJF LEFT JOIN tblBEDRIJF_ACTIVITEIT ON tblBEDRIJF.BEDRIJF_ID = tblBEDRIJF_ACTIVITEIT.BEDRIJF_ID) LEFT JOIN tblBEDRIJF_DOELGROEP ON tblBEDRIJF.BEDRIJF_ID = tblBEDRIJF_DOELGROEP.BEDRIJF_ID) LEFT JOIN tblBEDRIJF_PERSONEN ON tblBEDRIJF.BEDRIJF_ID = tblBEDRIJF_PERSONEN.BEDRIJF_ID) LEFT JOIN tblBEDRIJF_PRIJSKLASSE ON tblBEDRIJF.BEDRIJF_ID = tblBEDRIJF_PRIJSKLASSE.BEDRIJF_ID) LEFT JOIN tblBEDRIJF_PROVINCIE ON tblBEDRIJF.BEDRIJF_ID = tblBEDRIJF_PROVINCIE.BEDRIJF_ID; |
dan leek het in eerste instantie goed te gaan; tot een bedrijf gekoppeld werd aan meerdere criteria van dezelfde categorie;
stel dat een bedrijf gekoppeld was aan zowel aan de provincie limburg en noordholland, dan komt die in het zoekresultaat ook dubbel voor als record.
Hoe kan ik dit voorkomen? (Een DISTINCT gaat volgens mij niet werken, omdat ik 5 verschillende criteria heb. En een GROUP BY ook niet)
(Als ik dit eenmaal goed voor elkaar heb, is niet meer zo moeilijk om de WHERE clause af te maken met in te vullen criteria)