Avatar billede kh-proffcom Nybegynder
26. september 2001 - 17:13 Der er 7 kommentarer og
1 løsning

Søge i flere felter.


Hej,

Jeg skal lave en søgefunktion, der kan søge i flere felter.
Jeg har i min tabel; fornavn, mellemnavn, efternavn og vil gerne kunne søge i dem alle, så hvis jeg søger efter \"Hans\", får jeg både folk der hedder Hans og Hansen.

Hvordan gør jeg det i en sql sætning?
Avatar billede limemedia Nybegynder
26. september 2001 - 17:17 #1
SELECT * FROM tabelnavn WHERE fornavn LIKE \'%hans%\' OR mellemnavn LIKE \'%hans%\' OR efternavn LIKE \'%hans%\'

sådan !
Avatar billede limemedia Nybegynder
26. september 2001 - 17:18 #2
ups, MSSQL ... men mener det virker - troede lige det var mySQL...
Avatar billede torbenkoch Nybegynder
26. september 2001 - 18:30 #3
Ja, den er god nok, men husk, at hvis det er en stor tabel bliver det meget hurtigt en dyr søgning, da SQL Server ikke kan bruge index\'es til denne slags søgninger.

Man kan så vælge at bruge fritekstsøgning på sin tabel, det er forholdsvist simpelt at sætte op, men gør det dog kun, hvis tabellen er forholdsvist stor.
Avatar billede pierrehusted Nybegynder
26. september 2001 - 18:50 #4
Du får også mange flere muligheder med FULLTEXT.

Men FULLTEXT indexet skal opdateres - det er den store ulempe.
Avatar billede limemedia Nybegynder
27. september 2001 - 03:01 #5
torbenkoch >> fulltext indexes er næsten altid at foretrække performancemæssigt, men med de størrelser vi normalt jonglerer med på eksperten er forskellen lidt... Og begynde at forklare fulltext\'en, vedligeholdelse m.v. er ikke noget jeg gør med mindre modtageren som minimum kender LIKE søgningen
Avatar billede kh-proffcom Nybegynder
27. september 2001 - 09:11 #6
hvordan bruger du fuldtekst?
Avatar billede pierrehusted Nybegynder
27. september 2001 - 10:11 #7
Meget forsimplet gennemgang:

Først definerer du indexet - der vælger du:
- hvilken unik nøgle det skal hægtes sig på
- hvilke felter der skal indexeres (kun tekstfelter - ingen tal eller datoer)
Så populater du indexet.
- ganske enkelt beder serveren om at danne søgeindexet
Så definerer du et job til hvornår det skal repolutales.
Og så kan du begynde at søge.


Giver det mening ??

I hvert fald: prøv at slå op i den Books Online der fulgte med din SQL server - der er en god gennemgang af systemet.
Søg på FULLTEXT.
Avatar billede pierrehusted Nybegynder
27. september 2001 - 10:12 #8
At gå i detaljer vil kræve at jeg nærmest sætter mig og skriver Books Online af - det gider jeg ikke!  ;-)
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