Avatar billede ducks Nybegynder
11. januar 2004 - 08:27 Der er 7 kommentarer og
1 løsning

Hente fra flere tabeller

Kan man gøre det her:

SQL = "Select
        *
      From
        tbl_table1,
        tbl_table2
      Where
        tbl_table1.column1 = %'nøgleord'%
      Or
        tbl_table1.column2 = %'nøgleord'%
      Or
        tbl_table2.column1 = %'nøgleord'%
      Or
        tbl_table2.column2 = %'nøgleord'%
      Order By Dato Desc"

Eller skal jeg bruge noget andet?

Jeg vil gerne, at når en bruger søger efter noget, i det her tilfælde nøgleord, så vælger den det ud fra 2 tabeller der hver har to kolonner med ord der skal søges igennem, de skal sorteres og udskrives samlet. Hvis den her metode er lidt klodset, så vil jeg hellere bruge en bedre.
Avatar billede jakobclausen Nybegynder
11. januar 2004 - 08:52 #1
Det kan man godt det du siger. Dog vil jeg anbefale dig ordet LIKE istedet for =, ved brug af = skal brugen skrive lige præcis det der står i databasen, med LIKE man nøjes med en del af ordet.

SQL = "Select * From tbl_table1, tbl_table2
      Where
        tbl_table1.column1 LIKE %'%nøgleord%'%
      Or
        tbl_table1.column2 LIKE %'%nøgleord%'%
      Or
        tbl_table2.column1 LIKE %'%nøgleord%'%
      Or
        tbl_table2.column2 LIKE %'%nøgleord%'%
      Order By Dato Desc"

Procent tegnene inde i aprostrofferne betyder at der godt må stå noget foran og bagefter nøgleordet.
Avatar billede ducks Nybegynder
11. januar 2004 - 08:57 #2
Men vil den så kunne hente fra mere end en tabel?
Avatar billede jakobclausen Nybegynder
11. januar 2004 - 09:01 #3
From tbl_table1, tbl_table2

Ja den henter fra både tbl_table1 og tbl_table2, det eneste jeg har rettet er at brugerens nøgleord ikke behøver at være helt ens, men godt bare må ligne.
Avatar billede ducks Nybegynder
11. januar 2004 - 09:03 #4
Men når de skal stå indeni, skal de vel ikke også stå udenfor?

Når den fx finder noget der passer i tbl_table1.column2, vil den så fortsætte med resten eller bare springe dem over?
Avatar billede jakobclausen Nybegynder
11. januar 2004 - 09:05 #5
Jeg vil mene at den skulle køre det hele igennem, men er ikke helt sikker.
Avatar billede jakobclausen Nybegynder
11. januar 2004 - 09:07 #6
I forbindelse med selve SQL sætningn skal % kun være indenfor aprostrofferne, men er ikke vildt stærk i ASP, så skal ikke kunne sige om de skal være der i forbindelse med dit nøgleord.
Avatar billede ducks Nybegynder
11. januar 2004 - 10:44 #7
Det virker og de skal kun være indeni ( '%nøgleord%' )

Ved du om det er muligt på nogen måde at lave SQL på flere linier i ASP? Jeg troede det jeg gjorde kunne lade sig gøre, men det vil den ikke og det bliver hurtigt uoverskueligt, hvis der er 10 at vælge imellem.
Avatar billede jakobclausen Nybegynder
11. januar 2004 - 11:09 #8
Nej så vidt jeg ved er du nødt til at skrive det på én linie, har også selv haft problemer med det - på flere linier.

Takker for point!
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
Kurser inden for grundlæggende programmering

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