/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
SQL-syntaks
Fra : Rikke Nyland Christe~


Dato : 01-05-01 20:51

Jeg prøver på at lave en søgefunktion. I første omgang ønskede jeg at lave
en avanceret søgning, hvor forskellige søgeord er underlagt kategorier (som
på et bibliotek med overkat. såsom forfatter, titel, søgeord m.m., hvorefter
der kan skrives titel, navn el. andet). Efter mange mislykkedes forsøg har
jeg nu opgivet denne søgning. Det nye jeg vil forsøge er at neutralisere
overkategorierne, hvilket betyder at der kun søges v.h.a et søgeord, som kan
søge i alle tabellens data (forfatter, title etc.). Problemet er nu at jeg
mangler en SQL-sætning, der kan gøre det muligt at søge i forskellige
kategorier. Der skal kunne søges både på Forfatter, Titel, ISBN og Søgeord.
Mit forslag ser sådant ud:

SELECT * FROM Tabel1
WHERE forfatter AND titel AND ISBN AND søgeord = 'MMColParam'

Kan AND eventuelt ændres til en slags "OR" (jeg har uden held prøvet OR!)
således at søgningen leder i alle tabellens data og ikke kun i enkelte
kategorier.

MVH

Rikke




 
 
Lauritz Jensen (01-05-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 01-05-01 22:08

Rikke Nyland Christensen wrote:
>
> Jeg prøver på at lave en søgefunktion. [...] der [...] søges v.h.a
> et søgeord, som kan søge i alle tabellens data (forfatter,
> title etc.). Problemet er nu at jeg mangler en SQL-sætning, der
> kan gøre det muligt at søge i forskellige kategorier. Der skal
> kunne søges både på Forfatter, Titel, ISBN og Søgeord.
> Mit forslag ser sådant ud:
>
> SELECT * FROM Tabel1
> WHERE forfatter AND titel AND ISBN AND søgeord = 'MMColParam'

Prøv:

ord = Replace(Trim(Request("ord")), "'", "''")
sql = ""
sql = sql & "SELECT * "
sql = sql & "FROM Tabel1 "
sql = sql & "WHERE forfatter LIKE '" & ord & "' "
sql = sql & "OR titel LIKE '" & ord & "' "
sql = sql & "OR ISBN LIKE '" & ord & "' "
sql = sql & "OR [Søgeord] LIKE '" & ord & "' "

--
Lauritz

Jesper Nielsen (02-05-2001)
Kommentar
Fra : Jesper Nielsen


Dato : 02-05-01 00:29

> sql = sql & "OR [Søgeord] LIKE '" & ord & "' "

Og så skal der helst % omkring...
sql = sql & "OR [Søgeord] LIKE '%" & ord & "%';"

Så skal man ikke kende hele indholdet af et af felterne...


--
Med venlig hilsen
Jesper Nielsen



Jesper Kjeldsen (03-05-2001)
Kommentar
Fra : Jesper Kjeldsen


Dato : 03-05-01 09:24

Den holder heller ikke da man med en % foran eller bagved kræver at der er
noget. Eks. søgning efter like '%ord%' vil vise
"fj(ord)en" eller "Dette er en ordbog", men ikke "Ordbog" eller "biord"

"Jesper Nielsen" <jn@nielsenit.dk> wrote in message
news:EEHH6.1173$T22.59266@news010.worldonline.dk...
> > sql = sql & "OR [Søgeord] LIKE '" & ord & "' "
>
> Og så skal der helst % omkring...
> sql = sql & "OR [Søgeord] LIKE '%" & ord & "%';"
>
> Så skal man ikke kende hele indholdet af et af felterne...
>
>
> --
> Med venlig hilsen
> Jesper Nielsen
>
>



Lauritz Jensen (03-05-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 03-05-01 15:11

Jesper Kjeldsen wrote:
>
> "Jesper Nielsen" <jn@nielsenit.dk> wrote in message
> news:EEHH6.1173$T22.59266@news010.worldonline.dk...
> > > sql = sql & "OR [Søgeord] LIKE '" & ord & "' "
> >
> > Og så skal der helst % omkring...
> > sql = sql & "OR [Søgeord] LIKE '%" & ord & "%';"
> >
> > Så skal man ikke kende hele indholdet af et af felterne...
>
> Den holder heller ikke da man med en % foran eller bagved kræver
> at der er
> noget. Eks. søgning efter like '%ord%' vil vise
> "fj(ord)en" eller "Dette er en ordbog", men ikke "Ordbog" eller "biord"

Hvilken database har du prøvet det på?
(aka. på de baser jeg kender, betyder "%" nul eller flere)

--
Lauritz

Peter Lykkegaard (03-05-2001)
Kommentar
Fra : Peter Lykkegaard


Dato : 03-05-01 16:35


"Lauritz Jensen" <lauritz2@hotmail.com> wrote in message
news:3AF166FE.65348DC@hotmail.com...
> Jesper Kjeldsen wrote:
> >
> > Den holder heller ikke da man med en % foran eller bagved kræver
> > at der er
> > noget. Eks. søgning efter like '%ord%' vil vise
> > "fj(ord)en" eller "Dette er en ordbog", men ikke "Ordbog" eller "biord"
>
> Hvilken database har du prøvet det på?
> (aka. på de baser jeg kender, betyder "%" nul eller flere)
>
Også min oplevelse
Det er dog lidt "tungt" at lave søgninger på den måde, da databasen ikke
bruger index, men laver en tablescan

mvh/Peter Lykkegaard



Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408866
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste