🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: dk.edb.database
Article #15241

Re: SQL-trouble!

#15241
From: Kaj N
Date: Sat, 16 Jun 2001 10:44
62 lines
3578 bytes
Hej Emil

Dette er jo et udm�rket eksempel p�, at det kan v�re relevant at benytte
'IN'

SELECT * FROM Tabel Where
(Tabel.Felt1 IN ('*ord1*', '*ord2*') ) OR
(Tabel.Felt2 IN ('*ord1*', '*ord2*') ) OR
(Tabel.Felt3 IN ('*ord1*', '*ord2*') ) OR
(Tabel.Felt4 IN ('*ord1*', '*ord2*') )
...

Det hj�lper da en smule - is�r n�r der kommer mange s�geord

Kaj
Emil <spam@chokoladen.dk> skrev i en
nyhedsmeddelelse:a8fe0894.0106150144.14ea27fb@posting.google.com...
> Hejsa NG!
> Jeg har lavet mig en lang sql, og sidder nu med en fornemmelse af at jeg
> ikke har gjort det s�rligt optimalt ;-)
>
> Mit problem:
> Jeg vil generere en sql-streng til at foretage en s�gning (vha LIKE) i �n
> tabel, men i flere forskellige felter, og med x antal ord. S�ledes at hvis
> bare �t af de ord man s�ger p� findes i min. �t af de felter man s�ger i,
> skal posten hentes..
> - Det er for s� vidt heller ikke noget problem.. Problemet kommer n�r jeg
s�
> gerne vil have dem sorteret efter relevans. Dvs. s�dan at de poster hvori
> der blev fundet flest s�geord st�r �verst, og dem der kun indeholdt et
> enkelt s�geord st�r nederst.
> Jeg ville helst hvis det kunne mokkes ind i en enkelt sql-streng.
>
> Min nuv�rende l�sning:
> M�den jeg g�r det p� nu fungerer i og for sig, men sql'en bliver enddog
> ganske lang. Herunder ses den for en s�gning p� 2 ord i 4 felter:
> (sql-generatoren kan findes p� http://emil.fixware.dk/sql.asp , hvis I vil
> se hvor drastisk l�ngden stiger, n�r man fylder et par ord mere p�).
>
> Er der en smartere m�de? (..eller er det smartere at bruge flere sql'er?)
>
> H�ber I kan hj�lpe! ;-)
> \Emil
>
> SELECT * FROM Tabel Where
> (Tabel.Felt1 LIKE '*ord1*') OR
> (Tabel.Felt2 LIKE '*ord1*') OR
> (Tabel.Felt3 LIKE '*ord1*') OR
> (Tabel.Felt4 LIKE '*ord1*') OR
> (Tabel.Felt1 LIKE '*ord2*') OR
> (Tabel.Felt2 LIKE '*ord2*') OR
> (Tabel.Felt3 LIKE '*ord2*') OR
> (Tabel.Felt4 LIKE '*ord2*')
> ORDER BY
> (((Tabel.Felt1 LIKE '*ord1*') OR (Tabel.Felt2 LIKE '*ord1*') OR
(Tabel.Felt3
> LIKE '*ord1*') OR (Tabel.Felt4 LIKE '*ord1*')) AND ((Tabel.Felt1 LIKE
> '*ord2*') OR (Tabel.Felt2 LIKE '*ord2*') OR (Tabel.Felt3 LIKE '*ord2*') OR
> (Tabel.Felt4 LIKE '*ord2*'))),
> (((Tabel.Felt1 LIKE '*ord1*') OR (Tabel.Felt2 LIKE '*ord1*') OR
(Tabel.Felt3
> LIKE '*ord1*') OR (Tabel.Felt4 LIKE '*ord1*')))
Technical Details
Message-ID: <9gfd65$r36$2@sunsite.dk>
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!isdnet!diablo.theplanet.net!colt.net!news.tele.dk!130.225.51.30!sunsite.dk!not-for-mail
References: <a8fe0894.0106150144.14ea27fb@posting.google.com>

Show Full Headers
Complete Article Headers
X-Google-Language: DANISH,ASCII
X-Google-Thread: fcdf9,3814b17b9f6b1414
X-Google-Attributes: gidfcdf9,public
X-Google-Thread: 11387c,3814b17b9f6b1414
X-Google-Attributes: gid11387c,public
X-Google-ArrivalTime: 2001-06-16 03:42:42 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!isdnet!diablo.theplanet.net!colt.net!news.tele.dk!130.225.51.30!sunsite.dk!not-for-mail
From: "Kaj N" <kaj@neupert.dk>
Newsgroups: dk.edb.database,dk.edb.database.ms-access
Subject: Re: SQL-trouble!
Date: Sat, 16 Jun 2001 12:44:48 +0200
Organization: SunSITE.dk - Supporting Opensource Software
Lines: 66
Message-ID: <9gfd65$r36$2@sunsite.dk>
References: <a8fe0894.0106150144.14ea27fb@posting.google.com>
NNTP-Posting-Host: port92.cvx1-od.ppp.cybercity.dk
X-Trace: sunsite.dk 992688134 27750 217.157.76.93 (16 Jun 2001 10:42:14 GMT)
X-Complaints-To: news@sunsite.dk
NNTP-Posting-Date: Sat, 16 Jun 2001 10:42:14 +0000 (UTC)
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 5.00.2314.1300
X-Authenticated: <anon>@<dk>