Avatar billede kisser Nybegynder
07. december 2000 - 20:28 Der er 14 kommentarer og
1 løsning

Hjælp til SQL-forespørgsel

Hvem har styr på SQL, det har jeg nemlig ikke!

Jeg har 2 tabeller, med følgende felter

PLANTEFAMILIETABEL
familienavn
familiebeskrivelse
latinske familie navn

PLANTETABEL
plantenavn
latinsk plante navn
plantebeskrivelse
familienavn

Jeg skal nu bruge en SQL forespørgsel, hvor brugeren kan søge med ord som \"rod\"(står under feltet plantebeskrivelse)og få at vide, ved hvilke planter og/eller familier, dette kendetegn optræder.


Avatar billede stigc Nybegynder
07. december 2000 - 20:31 #1
select * from plantetable WHERE plantebeskrivelse LIKE \'%rod%\'
Avatar billede stigc Nybegynder
07. december 2000 - 20:33 #2
hvis det ligger i en variable, så:

searchword=\"rod\"

\"select * from plantetable WHERE plantebeskrivelse LIKE \'%\" + searchword + \"%\'\"

Avatar billede pierrehusted Nybegynder
07. december 2000 - 20:51 #3
select plante.navn, plante.lat_navn, plante.beskr, plante.fam_navn, familie.lat_navn, familie.beskr from plante, familie where plante.fam_navn = familie.fam_navn and (plante.beskr like \'%rod%\' or familie.beskr like \'%rod%\')

Avatar billede ldanielsen Nybegynder
07. december 2000 - 22:20 #4
Kan man lave JOIN\'s på den måde??

Jeg havde skrevet
plante INNER JOIN familie ON plante.fam_navn = familie.fam_navn
Avatar billede stigc Nybegynder
08. december 2000 - 13:15 #5
Virker det ikke?

Hvis du lader brugeren indtaste et ord, denne vil søge på, kan du ligge ordet i variable \"searchword\".


denne sql-sætning vil derefter smide alle de records tilbage, for hvilket ordet indgår i deres plantebeskrivelse:

\"select * from plantetable WHERE plantebeskrivelse LIKE \'%\" + searchword + \"%\'\"

Er det ikke det du ønsker? Ellers må du skrive hvad du ønsker!
Avatar billede kisser Nybegynder
08. december 2000 - 14:09 #6
Nej, jeg syntes ikke lige det virker efter hensigten.

Kan jeg evt. maile dig database, så du selv kan prøve?

Kisser
Avatar billede ldanielsen Nybegynder
08. december 2000 - 22:00 #7
Prøv at høre her:

SELECT f.familienavn, p.plantenavn, p.[latinsk plante navn] FROM PLANTETABEL p INNER JOIN PLANTEFAMILIETABEL p ON f.familienavn = p.familienavn WHERE p.plantebeskrivelse LIKE \'rod\'

Resultatet har altså tre kolonner, og der søges kun i plantebeskrivelse, selvom den ikke er med i resultatet. Men det kunne den jo komme.

[ ... ] er fordi du har mellemrum i kolonnenavnene! Det er vist stadig en uvane at have det.
Avatar billede kisser Nybegynder
08. december 2000 - 22:37 #8
Undskyld hvis jeg ikke har været helt korrekt i mit spørgsmål, men det skal ikke absolut være \"rod\" det skal kunne være et hvilket som helst ord der står i Plantebeskrivelse. (i PlanteTabel)

og for en god ordens skyld, så lad mig lige liste mine tilpassede tabel og feltnavne.


PlanteTabel:
PlanteNavn
LatinskePlanteNavn
PlanteBeskrivelse
Voksested
Plantebilled
FamilieNavn (fremmednøgle)

FamilieTabel:
FamilieNavn
LatinskeFamilieNavn
Beskrivelse

Nu håber jeg snart det virker.....suk.
Avatar billede kisser Nybegynder
08. december 2000 - 22:39 #9


Avatar billede ldanielsen Nybegynder
08. december 2000 - 22:41 #10
er det asp?
Avatar billede kisser Nybegynder
08. december 2000 - 23:35 #11
Hej Ida

Nej, det er MS SQL

Jeg er bare slet ikke inde i forespørgsler..desværre.

Det er ikke sådan at du evt. vil se databasen og selv prøve at skrive SQL sætningen?

Jeg har faktisk 3 andre SQL forespørgsler, hvis du kan løse dem også giver jeg 100 point ekstra.

Jeg arbejder i Access2000.....og er lost!

Kan jeg maile databasen? så kan det være at indholdet giver mere mening?

Hilsen Kisser
Avatar billede kisser Nybegynder
09. december 2000 - 12:06 #12
Nu er jeg altså ved at blive godt stresset, jeg er ved at være presset tidsmæssigt, og mangler stadig at få de forespørgsler til at virke.

Er der ikke en der vil vise lidt \"christmas spirit\", og hjælpe mig ud af mit problem?

Hilsen Kisser
Avatar billede ldanielsen Nybegynder
09. december 2000 - 12:22 #13
Hej Kisser

(Jeg hedder faktisk Lars D) Ja, jeg vil da gerne hjælpe. Du kan maile databasen til ldanielsen@yahoo.com

Men der er lidt forvirring: Du har oprettet spm. i MS SQL, og her handler det om Microsoft SQL Server, der er Access\'s storebror.

Du må fortælle mig om det du laver skal ende som en Access database, med formularer osv, så en bruger kan åbne den og indtaste data og få noget andet ud. Eller hvad?

Jo bedre du forklarer det, jo bedre kan jeg hjælpe. Skriv f.eks. præsis hvad for et resultat du vil forvente af en forespørgsel.

Jeg vil kigge på det i løbet af denne weekend

Hilsen Lars
Avatar billede kisser Nybegynder
09. december 2000 - 12:47 #14
SUPER!

Jeg mailer databasen, og vedlægger en side om hvad jeg skal have ud af mine forespørgsler.


Hilsen Kisser (jeg hedder faktisk Lone, blir\' bare kaldt Kisser!
Avatar billede kisser Nybegynder
17. december 2000 - 16:04 #15
g
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
Computerworld tilbyder specialiserede kurser i database-management

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