Avatar billede tre Nybegynder
31. oktober 2001 - 15:03 Der er 19 kommentarer og
1 løsning

Flere kategorier pr entry

Hej Eksperter....

Jeg er ved at lave et lille katalogsystem i ASP og har et lille problem med min database.....

Jeg vil til hver katalog kunne tildele flere kategorier. Jeg har en tabel med kategorier og kategoriID og en tabel med kataloger som så skal indeholde kolonnerne: KategoriID1 og KategoriID2

Når jeg sætter dem op i en forespørgsel med relation til KategoriID fra kategoritabellen virker det umiddelbart ikke da SQL\'en ser sådan ud:

    SELECT bla bla bla
    FROM category LEFT JOIN customers ON
    (category.IDcat = catalog.IDcat1) AND
    (category.IDcat = catalog.IDcat2);

Når jeg ændrer AND til OR så den finder de enties der enten indeholder kategori1 eller kategori2 i Kategoritabellen, skriver den umiddelbart det samme katalog 2 gange men med forskellig kategoribetegnelse.....

Hvordan laver jeg det smartest sådan at den kun skriver én entry med begge kategorier???
Avatar billede bennytordrup Nybegynder
31. oktober 2001 - 20:52 #1
Hjælper det med en SELECT DISTINCT?
Avatar billede tre Nybegynder
01. november 2001 - 09:11 #2
Nej - det hjælper desværre ikke.....
Avatar billede bennytordrup Nybegynder
01. november 2001 - 09:14 #3
Kan du give strukturen på tabellerne i form af Create Table Statements?
Avatar billede tre Nybegynder
01. november 2001 - 09:15 #4
Øhhh - nu er jeg ikke lige en SQL haj - så jeg ved ikke lige hvad du mener....
Avatar billede bennytordrup Nybegynder
01. november 2001 - 09:17 #5
Kan du give en hurtig liste med feltnavne og typer for de to tabeller?

Samt nogle testdata i kommaformat?
Avatar billede tre Nybegynder
01. november 2001 - 09:19 #6
Katalogtabel:
IDcat1, IDcat2, Navn

Kategoritabel:
IDcat, Kategori


Er det det du mente???
Avatar billede bennytordrup Nybegynder
01. november 2001 - 09:20 #7
Jep
Avatar billede bennytordrup Nybegynder
01. november 2001 - 09:20 #8
Har du nogle data også?
Avatar billede tre Nybegynder
01. november 2001 - 09:25 #9
Øhhh

KategoriID er fx: AA, AB, AC
Kategori: Mode, Teknik, EDB

Navn ex.: Vouge, CPP, PC World
Avatar billede tre Nybegynder
01. november 2001 - 09:27 #10
Lad os f.eks. antage at PC World skal under Teknik og EDB... Så skal den have AB og AC tildelt...

Men så står PC Wolrd to gange i min forespørgsel...
Avatar billede bennytordrup Nybegynder
01. november 2001 - 09:31 #11
Det skal den også, på grund af datastrukturen. Du har jo to links fra katalog-tabellen til kategoritabellen.

Jeg tror, det er nemmere at lave en ekstra tabel, hvor du mapper katalogerne til kategoritabellen.
Avatar billede tre Nybegynder
01. november 2001 - 09:34 #12
OK - tak.

Kan du fortælle hvordan jeg gør det - eller er det en vanskellig affære??
Avatar billede bennytordrup Nybegynder
01. november 2001 - 09:38 #13
Katalogtabellen ændrer du således, at du har et KatalogID

Ny tabel: KatalogKategoriMap med felterne KatalogID, IDCat (disse to felter skal være unik nøgle - det giver ikke mening at have det samme katalog mappet op til samme kategori flere gange).

KatalogID skal være unik nøgle i katalogtabel
IDCat skal være unik nøgle i kategoritabel

(det her er i øvrigt normalisering af databasen)
Avatar billede tre Nybegynder
01. november 2001 - 09:56 #14
Tusind tak.

Prøver lige om et par timer....
Avatar billede tre Nybegynder
01. november 2001 - 14:19 #15
Nååå - nu ved jeg hvad du mener. Det er noget med at Access ikke kan håndtere en mange til mange relation og derfor skal man oprette sådan en hjælpetabel!

Men nu har jeg et problem i min hjælpetabel....

Jeg kan da ikke sætte nogle af felterne til at være primærnøgle, da jeg dermed ikke kan tildele det samme katalog flere kategorier.
Er det ikke rigtigt???
Avatar billede bennytordrup Nybegynder
01. november 2001 - 14:24 #16
Du skal have begge felter i kombination til at være primærnøgle
Avatar billede tre Nybegynder
01. november 2001 - 15:50 #17
Det har jeg også prøvet. Altså markeret begge og valgt primærnøgle...

Men det virkede heller ikke.

Jeg får denne fejl, når jeg prøver at indtaste endnu en kategori til det samme katalog:

The changes you requested to the table were not succesful because they would create duplicate values in the index, primary key or relationship.
Avatar billede bennytordrup Nybegynder
01. november 2001 - 15:52 #18
Slet alle index på den nye tabel.

I tabeldesign markerer du begge kolonner og klikker på knappen til primærnøgle
Avatar billede bennytordrup Nybegynder
03. november 2001 - 22:23 #19
Desuden skal begge felter hver især stå til at tillade dupletter.
Avatar billede tre Nybegynder
05. november 2001 - 09:00 #20
tak for hjælpen...
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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