Avatar billede peer Nybegynder
22. januar 2002 - 15:54 Der er 4 kommentarer og
1 løsning

Søgning i flere tabeller

Jeg har set mig blind på en søgefunktion jeg er ved at lave.

Jeg har 3 tabeller.
Kategori som indeholder kategoriid og navn
Produkt som indeholder produktid, navn og fKategoriid
Keyword som indeholder keyid, keyword, point og fProduktid

Keyword er en tabel som indeholder nogle keywords der er knytte på de enkelte produkter, et produkt kan godt have flere keywords.

Jeg vil lave en søgefunktion som søger i Keyword-tabellen. Finder den søgeordet i tabellen finder du ud af hvilke produkter der er knyttet til søgeordet. Et søgeord kan godt være på flere produkter.
Den skal så liste søgningen sorteret efter kategorinavn og overskrift. Søgningen skal vise egentlig kun vise overskriften.

Hvordan gør man det?

Jeg anvender JET SQL så jeg kunne forestille mig at det har noget med Inner Join at gøre.

Håber på det bedste :o)
Peer
Avatar billede nute Nybegynder
22. januar 2002 - 16:09 #1
hmmm...et lite skudd i luften...

SELECT Keyword.keyword AS keyword, Produkt.navn AS pNavn, Kategori.navn AS kategori FROM Keyword, Produkt, Kategori WHERE Keyword.fProduktid = Produkt.produktid AND Produkt.fKategoriid = Kategori.kategoriid AND Kategori.keyword LIKE '%et keyword%' GROUP BY Kategori.navn

/nute
Avatar billede peer Nybegynder
22. januar 2002 - 16:30 #2
Driller stadig, jeg kigger lige lidt nærmere på din kode.

/Peer
Avatar billede coltau Juniormester
22. januar 2002 - 16:43 #3
Du kan også lege lidt med nedenstående:

Select * from produkter where id in (Select keyid as produktid from keyword where keyword = "godmad") order by kategorinavn, overskrift
Avatar billede peer Nybegynder
23. januar 2002 - 08:56 #4
Jeg er selv kommet frem til følgende SQL

sql = "SELECT * FORM ((tblFaqEmner INNER JOIN tblFaqKategori ON tblFaqEmner.fKategoriid = tblFaqKategori.kategoriid) INNER JOIN tblKeywords ON tblFaqEmner.faqid = tblKeywords.fFaqid) WHERE keyword='test'"

Men den giver følgende fejl:
Microsoft JET Database Engine (0x80040E14)
Syntax error (missing operator) in query expression '* FORM ((tblFaqEmner INNER JOIN tblFaqKategori ON ....

Hvad gør jeg mon galt
Avatar billede peer Nybegynder
23. januar 2002 - 09:01 #5
Du får pointene for din indsats. Jeg prøver at poste et nyt spørgsmål med den konkrete SQL-forespørgsel istedet.

Tak for din tid coltau. :0)
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