Avatar billede holmes2 Nybegynder
14. november 2006 - 16:02 Der er 3 kommentarer og
1 løsning

Find ord i to tabeller og lav link til denne post

Hej

Jeg skal lave en søge funktion, som gennemsøger 3 tabeller for et søge ord. Jeg har forsøgt lidt med UNION funktioner og det fungere.

Set findsql = ObjConn.Execute("(SELECT DISTINCT message FROM weblog WHERE message LIKE '%" & stringsrc & "%' OR subject LIKE '%" & stringsrc & "%') UNION (SELECT DISTINCT message FROM forum WHERE message LIKE '%" & stringsrc & "%' OR subject LIKE '%" & stringsrc & "%')")

Mit problem er hvis jeg skal lave et link til den side hvor posten høre til, så bliver jeg nød til at vide hvilken af de 3 tabeller posten ligger ?! Hvordan gør man det ?
Avatar billede holmes2 Nybegynder
14. november 2006 - 21:04 #1
Er mit spørgsmål ikke forståligt ?

Først vil jeg finde ID numre fra 3 forskellige tabeller på besked i disse tabeller som indeholder søgeordet. Derefter skal jeg bruge disse ID numre til at lave link til beskeden. Men da de beskeder kan lægge i tre forskelle tabeller, så må jeg vide hvilken tabel ID'et stammer fra. Det skal bruges til en søge funktion i 3 forskellige forums. Håber det hjælper lidt.
Avatar billede hardcorewizard Nybegynder
15. november 2006 - 15:46 #2
Du skal først og fremmeste have dit id-nummer med i din query. Som jeg har forstået det, så har du kun "message"-kolonnen med (SELECT DISTINCT message, id FROM ...).

Du behøver nu ikke bruge union, da dette ikke helt er brugbart i din situation. Lav evt. blot tre separate queries, og loop igennem dem hver for sig når du skal vise resultatet. De vil alligevel lægges sammen i samme rækkefølge når du bruger en UNION, og da du ikke efterfølgende sorterer dine resultater i din query, så vil du få præcis det samme resultat rent funktionsmæssigt.

Brug databasen til det den er bedst til, og hold resten i din klientapplikation :).
Avatar billede holmes2 Nybegynder
15. november 2006 - 17:21 #3
Okay, det var nu også en fejl at id ikke var kommet med.
Har aldrig brugt UNION før, så jeg køre bare en tradionelle metode som du beskriver
tak for input. Smid et svar så jeg kan give dig point.
Avatar billede hardcorewizard Nybegynder
15. november 2006 - 23:37 #4
Tak 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
Computerworld tilbyder specialiserede kurser i database-management

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