|
| [mysql] søgning i to tabeller - igen :-( Fra : Bo Rattenborg |
Dato : 28-08-02 19:27 |
|
Jeg prøver igen....og håber at nogen kan hjælpe med en løsning eller evt.
henvise til en torturial.
Jeg roder lidt med en db til nogle billeder og har i den forbindelse
følgende spørgsmål som jeg håber nogen kan hjælpe med:
jeg har to tabeller
__________________
personer
id | efternavn | fornavn
med f.eks. følgende indhold:
1|jens|pedersen
2|hans|jensen
__________________
billede
id | personer|beskrivelse
med f.eks. følgende indhold:
1|1 2 3 1 4|billede 1
2|2|billede 2
så er det at jeg gerne vil søge på forskellige oplysninger vedr. billederne
(i øjeblikket kun personer), hvis jeg f.eks. søger på jens i tabellen med
billeder, så skal jeg jo
søge i både billeder samt personer, hvordan gøres dette, og er der evt. en
bedre måde at løse det på ?
I øvrigt så er ved jeg ikke helt hvordan jeg skal knytte Billede og Personer
sammen, som det er nu har jeg blot et tekstfelt i Billeder der indeholder
id'r fra Personer adskilt af et mellem rum, men hvordan gør man det
'rigtigt' ?
Mvh
Bo
| |
news.stofanet.dk (29-08-2002)
| Kommentar Fra : news.stofanet.dk |
Dato : 29-08-02 06:35 |
|
Dit problem er dit database design.
Det du forsøger at lave er en mange til mange relation. Det kan du ikke gøre
med kun 2 tabeller. Du skal have en tredie.
personer: person_id, efternavn, fornavn
billede: billede_id, beskrivelse
Og endelig relationen mellem de to.
optraeder_paa: billede_id, person_id
Så bliver forespørgslen relativ nem.
select billede_id from billeder
join optraeder_paa on billeder.billede_id = optraeder_paa.billede_id
join personer on personer.person_id = optraeder_paa.person_id where
personer.fornavn='jens'
Du skal måske prøve at finde en bog om database design, og sql.
Held og lykke.
Flemming
"Bo Rattenborg" <bo.rattenborg@[nospam]mail.dk> wrote in message
news:3d6d15e5$0$719$ba624c82@nntp04.dk.telia.net...
> Jeg prøver igen....og håber at nogen kan hjælpe med en løsning eller evt.
> henvise til en torturial.
>
> Jeg roder lidt med en db til nogle billeder og har i den forbindelse
> følgende spørgsmål som jeg håber nogen kan hjælpe med:
>
> jeg har to tabeller
> __________________
> personer
> id | efternavn | fornavn
>
> med f.eks. følgende indhold:
> 1|jens|pedersen
> 2|hans|jensen
>
> __________________
> billede
> id | personer|beskrivelse
>
> med f.eks. følgende indhold:
> 1|1 2 3 1 4|billede 1
> 2|2|billede 2
>
> så er det at jeg gerne vil søge på forskellige oplysninger vedr.
billederne
> (i øjeblikket kun personer), hvis jeg f.eks. søger på jens i tabellen med
> billeder, så skal jeg jo
> søge i både billeder samt personer, hvordan gøres dette, og er der evt. en
> bedre måde at løse det på ?
>
> I øvrigt så er ved jeg ikke helt hvordan jeg skal knytte Billede og
Personer
> sammen, som det er nu har jeg blot et tekstfelt i Billeder der indeholder
> id'r fra Personer adskilt af et mellem rum, men hvordan gør man det
> 'rigtigt' ?
>
> Mvh
> Bo
>
>
| |
Bo Rattenborg (30-08-2002)
| Kommentar Fra : Bo Rattenborg |
Dato : 30-08-02 08:41 |
|
> Dit problem er dit database design.
tænkte jeg nok :-|
> Det du forsøger at lave er en mange til mange relation. Det kan du ikke
gøre
> med kun 2 tabeller. Du skal have en tredie.
> personer: person_id, efternavn, fornavn
>
> billede: billede_id, beskrivelse
>
> Og endelig relationen mellem de to.
> optraeder_paa: billede_id, person_id
> Så bliver forespørgslen relativ nem.
>
> select billede_id from billeder
> join optraeder_paa on billeder.billede_id = optraeder_paa.billede_id
> join personer on personer.person_id = optraeder_paa.person_id where
> personer.fornavn='jens'
Ok, men vil det sige at der er en post i optraeder_paa for hver person der
optræder på et billede ?
Altså f.eks.:
id|billede_id|person_id
1|1|2
2|1|3
3|1|4
> Du skal måske prøve at finde en bog om database design, og sql.
er der evt. nogen der kan anbefale en go' bog vedr. mySQL - gerne dansk ?
Minder sql og MySQL så meget om hinanden at en SQL bog også kan anvendes ?
Bo
| |
Niels Andersen (30-08-2002)
| Kommentar Fra : Niels Andersen |
Dato : 30-08-02 08:58 |
|
Bo Rattenborg wrote in <3d6f2192$0$641$ba624c82@nntp03.dk.telia.net>:
> Minder sql og MySQL så meget om hinanden at en SQL bog også kan anvendes ?
SQL er en standard, MySQL er en implementation af standerden.
Der findes mange andre implementationer af SQL, fx. PostGreSQL og Microsoft
SQL.
De følger alle sammen mere eller mindre SQL-standarden. Men nogle ting er
udeladt, nogle ting har folk selv tilføjet, og nogle ting er implementeret
forkert.
Dvs. de er alle grundlæggende ens, og uanset hvilken server du vælger, så er
det godt at kunnne SQL.
Men du kan ikke undgå at skulle læse om de enkelte implementationer
alligevel.
Dvs: Der er en god ide at læse en bog om SQL. Men husk at du skal også læse
om MySQL. Om ikke andet, så i hvert fald det kapitel om fravigelser fra
standarden.
--
Mvh.
Niels Andersen
(la nels. anersyn.)
| |
|
|