Avatar billede normann Nybegynder
24. april 2001 - 12:01 Der er 1 kommentar og
2 løsninger

Søgning på alle ord

Hej,

Jeg har et problem med et Access-query, da Access ikke forstår INTERSECT.
Til en søgemaskine skal jeg skrive et dyn. query som søger i forskellige felter og som skal returnere alle de rækker hvorom der gælder at alle de søgte ord indgå.

Altså et query som man med INTERSECT ville kunne skrive som :

(SELECT x1,x2 FROM y1,y2 WHERE y1.s=y2.s AND (z1=a OR z2=a OR z3=a))
INTERSECT
(SELECT x1,x2 FROM y1,y2 WHERE y1.s=y2.s AND (z1=b OR z2=b OR z3=b))
INTERSECT
(SELECT x1,x2 FROM y1,y2 WHERE y1.s=y2.s AND (z1=c OR z2=c OR z3=c))

, hvor .s er relationen mellem y1 og y2 og a,b,c er de tre ord der er søgt på

-Mvh
Bo
24. april 2001 - 12:14 #1
Hej Normann,

Intersect er jo blot fællesmængden mellem de 3 queries.
Hvis du i stedet gemmer de 3 queries og derefter laver en inner join mellem dem, får du det samme resultat.

Desværre er du nok nødt til at gemme de Select\'er i hver sin query, da Access ikke kan benytte Select\'s som tabeller direkte.

/Thomas
Avatar billede erikjacobsen Ekspert
24. april 2001 - 12:15 #2
SELECT x1,x2 FROM y1,y2 WHERE y1.s=y2.s AND (z1=a OR z2=a OR z3=a)
  AND (z1=b OR z2=b OR z3=b)
  AND (z1=c OR z2=c OR z3=c)
Avatar billede normann Nybegynder
24. april 2001 - 12:18 #3
Gud ja - kors hvor simpelt
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