/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Flere værdier i en enkelt kolonne (mySQL/p~
Fra : news.tele.dk


Dato : 16-01-03 17:31

Jeg har et adressekartotek (tabel) - f.eks. bestående af disse felter:
navn
adresse
postnr
by
telefon
email
kategorier

Adresserne kan bruges til forskellige formål (inddeles i kategorier) -
f.eks.:
Kunde
Leverandør
Ven
Debitor
Kreditor
Webmaster
Rødhåret
...
Antallet af kategorier er variabelt. Det er altså ikke en god løsning at
lave en kolonne for hver kategori i adressetabellen

Det er ikke sikkert at en adresse overhovedet har en kategori, men der kan
også være adresser som er med i flere kategorier

Jeg vil gerne kunne finde adresser ud fra kategorier - altså f.eks. noget i
retning af:

SELECT navn, telefon FROM adresser WHERE (kategorier indeholder Ven)
eller måske:
SELECT navn, telefon FROM adresser WHERE (kategorier indeholder enten
Ven eller Rødhåret) eller
SELECT navn, telefon FROM adresser WHERE (kategorier indeholder både
Kunde og Debitor)

Har nogen en rigtig god idé til hvordan det kan gøres?

på forhånd tak
Uffe





 
 
Uffe Lund (16-01-2003)
Kommentar
Fra : Uffe Lund


Dato : 16-01-03 17:34

Det var vist en tumpet afsenderadresse - undskyld!

> Jeg har et adressekartotek (tabel) - f.eks. bestående af disse felter:
> navn
> adresse
> postnr
> by
> telefon
> email
> kategorier
>
> Adresserne kan bruges til forskellige formål (inddeles i kategorier) -
> f.eks.:
> Kunde
> Leverandør
> Ven
> Debitor
> Kreditor
> Webmaster
> Rødhåret
> ...
> Antallet af kategorier er variabelt. Det er altså ikke en god løsning at
> lave en kolonne for hver kategori i adressetabellen
>
> Det er ikke sikkert at en adresse overhovedet har en kategori, men der kan
> også være adresser som er med i flere kategorier
>
> Jeg vil gerne kunne finde adresser ud fra kategorier - altså f.eks. noget
i
> retning af:
>
> SELECT navn, telefon FROM adresser WHERE (kategorier indeholder Ven)
> eller måske:
> SELECT navn, telefon FROM adresser WHERE (kategorier indeholder enten
> Ven eller Rødhåret) eller
> SELECT navn, telefon FROM adresser WHERE (kategorier indeholder både
> Kunde og Debitor)
>
> Har nogen en rigtig god idé til hvordan det kan gøres?
>
> på forhånd tak
> Uffe




Jakob Andersen (16-01-2003)
Kommentar
Fra : Jakob Andersen


Dato : 16-01-03 21:08

"news.tele.dk" <Uffe@e-line.dk> wrote
> Jeg har et adressekartotek (tabel) - f.eks. bestående af disse felter:
> navn
> adresse
> postnr
> by
> telefon
> email
> kategorier

Læg dine kategorier ud i en seperat tabel, og lav så en mange til mange
relation imellem din adressetabel og kategoritabel.

--
Jakob Andersen



Uffe Lund (16-01-2003)
Kommentar
Fra : Uffe Lund


Dato : 16-01-03 23:40


"Jakob Andersen" <jakob@effectus.dk> skrev i en meddelelse
news:b073dq$19a8$1@news.cybercity.dk...
> "news.tele.dk" <Uffe@e-line.dk> wrote
>
> Læg dine kategorier ud i en seperat tabel, og lav så en mange til mange
> relation imellem din adressetabel og kategoritabel.
>
> --
> Jakob Andersen
>

Jo - det kan selvfølgelig lade sig gøre at lægge kategorierne ud i en sådan
separat tabel. Men den løsning vil jeg nu meget gerne undgå. Jeg bruger jo
som nævnt i subject mySQL, og dette udmærkede produkt understøtter indtil
videre ikke sager som kaskadevis opdatering og -sletning, hvorfår jeg vil få
en del "manuel" vedligeholdelse af tabellen med kategorier.

Samtidig tror jeg på at hvis det lykkes at samle kategorierne i et felt (en
array?) i hovedtabellen vil det blive lettere at søge efter f.eks "Debitorer
som samtidig er Rødhårede".

Uffe Lund



Jakob Andersen (17-01-2003)
Kommentar
Fra : Jakob Andersen


Dato : 17-01-03 00:28

"Uffe Lund" <uffe@doing.dk> wrote
> Jo - det kan selvfølgelig lade sig gøre at lægge kategorierne ud i en
sådan
> separat tabel. Men den løsning vil jeg nu meget gerne undgå. Jeg bruger jo
> som nævnt i subject mySQL, og dette udmærkede produkt understøtter indtil
> videre ikke sager som kaskadevis opdatering og -sletning, hvorfår jeg vil

> en del "manuel" vedligeholdelse af tabellen med kategorier.

Det ville være den rette vej at gå, og du kan mindske administrationen af
det ved at lade PHP lave et par ekstra forespørgsler ved sletninger og
opdateringer. Med et array som dit kategorifelt er heller ikke særlig
dynamisk eftersom du skal ændre på tabeldefinitionen hver gang du
tilføjer/fjerner/ændrer en kategori.

> Samtidig tror jeg på at hvis det lykkes at samle kategorierne i et felt
(en
> array?) i hovedtabellen vil det blive lettere at søge efter f.eks
"Debitorer
> som samtidig er Rødhårede".

Det kan du klare med en join med min model. Men hvis du insisterer er det
datatypen SET du skal kigge på:
<http://www.mysql.com/doc/en/SET.html>

--
Jakob Andersen



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste