🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: dk.edb.database
Article #15229

SQL-trouble!

#15229
From: Emil
Date: Fri, 15 Jun 2001 09:44
42 lines
2754 bytes
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: <a8fe0894.0106150144.14ea27fb@posting.google.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!postnews1.google.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: DANISH,ASCII
X-Google-Thread: fcdf9,3814b17b9f6b1414,start
X-Google-Attributes: gidfcdf9,public
X-Google-Thread: 11387c,3814b17b9f6b1414,start
X-Google-Attributes: gid11387c,public
X-Google-ArrivalTime: 2001-06-15 02:44:42 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!postnews1.google.com!not-for-mail
From: spam@chokoladen.dk (Emil)
Newsgroups: dk.edb.database,dk.edb.database.ms-access
Subject: SQL-trouble!
Date: 15 Jun 2001 02:44:42 -0700
Organization: http://groups.google.com/
Lines: 42
Message-ID: <a8fe0894.0106150144.14ea27fb@posting.google.com>
NNTP-Posting-Host: 194.239.27.70
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: posting.google.com 992598282 5035 127.0.0.1 (15 Jun 2001 09:44:42 GMT)
X-Complaints-To: groups-support@google.com
NNTP-Posting-Date: 15 Jun 2001 09:44:42 GMT