Avatar billede dennism Nybegynder
21. april 2003 - 14:23 Der er 10 kommentarer og
1 løsning

Multi-søgning

Hvordan skal en mysql foresp. se ud for at den søger efter en tekst der ligger i "$sogning" i rækken "titel" i tabellen "forum_traad" og rækken "tekst" i tabellerne "forum_traad" og "forum_indlaeg"?

Hvis jeg kun skulle søge i rækken "titel" i tabellen "forum_traad" så er det jo bare:

SELECT * FORM forum_traad WHERE titel LIKE '%$sogning%'
Avatar billede dennism Nybegynder
21. april 2003 - 14:23 #1
Ups.. Det burde vist være i Mysql istedet..
Avatar billede dennism Nybegynder
21. april 2003 - 14:23 #2
Men skidt med det..
Avatar billede jakoba Nybegynder
21. april 2003 - 14:27 #3
Du nævner tabeller to gange. hvordan kommer tabellen 'forum_indlæg' ind i det?
Avatar billede htm Nybegynder
21. april 2003 - 14:27 #4
SELECT * FROM forum_traad,forum_indlaeg WHERE forum_traad.titel LIKE '%$sogning%' OR forum_traad.tekst LIKE '%$sogning%' OR forum_indlaeg.tekst LIKE '%$sogning%'
Avatar billede hmm10 Nybegynder
21. april 2003 - 14:29 #5
SELECT * FORM `forum_traad` WHERE `titel` LIKE '%$sogning%' or `tekst` LIKE '%$sogning%'
Avatar billede jakoba Nybegynder
21. april 2003 - 14:34 #6
Når du søger i to tabeller på een gang skal tabellerne knyttes sammen på en eller anden måde, ellers får du alt for mange resutater fordi hver funden række i en af tabellerne bliver vist sammen med samtlige rækker i den anden.
Avatar billede dennism Nybegynder
21. april 2003 - 14:34 #7
htm >>

Oki, ved at skrive "forum_traad.titel", så angiver man altså at den skal søge i tabellen forum_traad, og rækken titel!?
Avatar billede htm Nybegynder
21. april 2003 - 14:35 #8
ja
Avatar billede dennism Nybegynder
21. april 2003 - 14:36 #9
jakoba >>

Vil du ikke lige forklare det igen? Jeg forstår ikke hvad du mener!...
Avatar billede dennism Nybegynder
21. april 2003 - 14:37 #10
HVordan kan jeg så lave sådan at den sorterer efter "dato" som findes i begge tabeller?
Avatar billede jakoba Nybegynder
21. april 2003 - 14:49 #11
OK. 2 små tabeller

tab1
id  felt1 felt2
  1      40      80
  2      30      100

tab2
id2 felta feltb
  1      20      60
  2      30      20

sql_kommandoen
"SELECT tab1.*, fab2.* FRON tab1,tab2 WHERE tab1.felt1 = 30 OR tab2.felta = 30"
vil nu give:
id1  felt1 felt2    id2 felta feltb
  2      30      100      1      20      60
  2      30      100      2      30      20
  1      40      80      2      30      20
  2      30      100      2      30      20

de to første linie overholder WHERE-reglen foran OR, de to sidste overholder reglen efter OR.

forestil dig nu at der er 2000 rækker i hver tabel.

Så hvis der ikke er et felt der kan bruges til at begrænse antallet af rækker i den anden tabel der må parres sammen med kan det være det er bedre at lave 2 separate sql kommandoer.

mvh JakobA
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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