/ 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
Select fra flere tabeller
Fra : Abel


Dato : 04-03-03 02:23

Jeg har følgende:

strSQL = "SELECT * FROM anmeldelser WHERE"
strSQL = strSQL & " ((overskrift LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (forsidetekst LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (broedtekst LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (skribent LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (producent LIKE '%" & strKeyword & "%'))"
strSQL = strSQL & "AND (kategori = " & Request.Form("kategori")& ") "

Set rs = Conn.Execute(strSQL)


....som jeg bruger til at søgning - problemet er bare at jeg udover at søge i
tabellen "anmeldelser", også vil søge i tabellen "nyheder" i felterne
"nyhed" "overskrift" og "skribent"

Hvordan gør jeg det????

--
mvh.
Henrik Abel Larsen
abel@xperiment[prik].dk
www.xperiment.dk





 
 
Jens Gyldenkærne Cla~ (04-03-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 04-03-03 11:26

Abel skrev:

> problemet er bare at jeg udover at søge i tabellen
> "anmeldelser", også vil søge i tabellen "nyheder" i felterne
> "nyhed" "overskrift" og "skribent"


Hvis det skal præsenteres som ét datasæt skal du bruge UNION.
Syntaksen er:

SELECT <felter>
FROM tabel1
WHERE <kriterier>

UNION

SELECT <felter>
FROM tabel2
WHERE <andrekriterier>

....

(du kan i principppet sætte lige så mange SELECT's på som du vil).

Der er dog restriktioner på hvordan UNION-forespørgsler kan bruges.
Da der kun returneres ét datasæt (rækkerne fra hver select lagt
efter hinanden, minus dubletter), skal feltdefinitionerne i hver
select passe sammen. De må godt have forskellige navne, men antal
og datatyper skal passe sammen, sådan at sammenlægningen er mulig.

En anden mulighedhed er at returnere to datasæt - et fra hver
tabel.

Og den sidste mulighed er at ændre din datastruktur. Hvis du har
brug for at søge på tværs af tabeller er der noget der tyder på at
strukturen er forkert. En måde at samle anmeldelser og nyheder i
samme tabel på kunne være som følger:

tbl_artikler
- artikelID (primærnøgle)
- artikelTypeID (fremmednøgle til tbl_artikelTyper)    
- oprettet
- skribentID (fremmednøgle til tbl_skribenter)
- overskrift
- artikel

tbl_artikelTyper
- artikelTypeID (primærnøgle)
- artikelType

tbl_skribenter
- skribentID
- fornavn
- efternavn
- signatur
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

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

Månedens bedste
Årets bedste
Sidste års bedste