Begrænse resultater af SQL ?

Tags:    databaser

Hej,

Jeg har en side, hvor jeg har nogle noter. Hver note har en række tags tilknyttet.

Kort beskrevet har jeg følgende tabeller:
notes(noteId, title)
tags(tagId, tag)
noteTags(noteId, tagId)

Man vælger en række tags via en form på en webside, og får så vist et antal noter, der matcher disse tags.

Jeg søger en måde, hvorpå jeg kun får returneret noter der matcher alle valgte tags.

Fx 3 noter
note1 med tags: linux, openvz
note2 med tags: linux, openvz
note3 med tags: linux, mysql

Vælger jeg tag 'linux' skal alle tre vises, vælger jeg yderligere et tag 'openvz' skal kun note1 og note2 vises.

Jeg har prøvet utallige måder, men kan ikke komme nær noget der fungerer...


How to do it?



1 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Hvordan kan det være at du har en tabel der holder styr på hvilke tags og noter der kan høre sammen? Ville det ikke være mere korrekt (da tag er en svag relation, dvs. den kan ikke eksistere uden en tilknyttet note) at placere en fremmednøgle på notes?

Som det ser ud nu skal du joine over din relationstabel... og så skal du nok bruge en "in" statement for at match de rigtige tags, ud fra dem brugeren har valgt på web siden



Indlæg senest redigeret d. 10.12.2008 12:45 af Bruger #2730
t