Avatar billede Søren Bech Morsing Praktikant
03. december 2002 - 19:44 Der er 7 kommentarer og
1 løsning

hjælp til select statement (medlemskartotek)

Jeg har oprettet 3 tabeller:
Medlemmer; id, navn (tekst)
Type; id, type (tekst)
medlemmerType; id, navn (tal), type (tal)

Typerne kunne være: træner, bestyrelsesmedlem osv.
Medlem 1, søren er begge dele og jeg opretter så 2 poster i medlemmerType
1, 1 (hvor , 1 er træner)
1, 2 (hvor , 2 er bestyrelsesmedlem)

Hvordan laver jeg nu en select på dette så jeg kan skrive navn, træner, bestyrelsesmedlem

osv...
Avatar billede Søren Bech Morsing Praktikant
03. december 2002 - 19:45 #1
ja den nederste linie bliver jo:
id; navn; type
1; Søren; træner, bestyrelsesmedlem
Avatar billede arne_v Ekspert
03. december 2002 - 19:59 #2
Det er ikke den måde man skal bruge relationelle databaser.

SELECT Medlemmer.navn,Type.type
WHERE Medlemmer.id=medlemmerType.navn
AND Type.id=medlemmerType.type

vil give dig dem oven over hinanden.
Avatar billede terry Ekspert
03. december 2002 - 20:01 #3
in the query builder drag and drop the three tables. IF your realtionships are correct then a thin line will appear joining the primary key foreign key fields. If they are not then drag the primary key field on to th eforeign key field. Then select the fields you are interested in seeing.
Avatar billede Søren Bech Morsing Praktikant
03. december 2002 - 22:25 #4
arne_v: Hvad mener du med det?
Hvordan skal jeg så opbygge det, den måde jeg har valgt giver da det mest fleksible system
Avatar billede arne_v Ekspert
03. december 2002 - 22:42 #5
Du har opbygget det rigtigt.

Men du skal ikke forvente at få en stribe værdier fra
samme felt lagt i enden af hindanden adskilt af
komma.

De komme runder hinanden.

Det er den relationelle vej.
Avatar billede arne_v Ekspert
03. december 2002 - 22:55 #6
Ikke:

1; Søren; træner, bestyrelsesmedlem

men:

1; Søren; træner
1; Søren; bestyrelsesmedlem
Avatar billede Søren Bech Morsing Praktikant
04. december 2002 - 09:10 #7
åh, ja... klart. Laver det på en hjemmeside (ASP) så det skal jeg nok selv sørge for at skrive rigtigt - sorry.

Arne_v det du skriver er også den måde jeg selv har lavet det på. Jeg har bare en gang fået at vide at det var "gammeldags" og man skulle bruge joins i stedet. Er det hurgtigere? eller er det bedøvende ligegyldigt (synes tit jeg er gået kold i sådan en join)
Avatar billede arne_v Ekspert
04. december 2002 - 09:37 #8
Om man skriver:

SELECT Medlemmer.navn,Type.type
FROM Medlemmer,Type,medlemmerType
WHERE Medlemmer.id=medlemmerType.navn
AND Type.id=medlemmerType.type

eller

SELECT Medlemmer.navn,Type.type
FROM (Medlemmer JOIN medlemmerType ON Medlemmer.id=medlemmerType.navn) JOIN Type ON Type.id=medlemmerType.type

er ligegyldigt.

Jeg bruger normalt den første form af gammel vane (jeg
mener ikke JOIN var opfundet da jeg lærte SQL !).

Join er mest interessant fordi udover join som
er en inner join (kun tager med hvis der er noget i begge
tabeller), så er der:
  left join
  rigth join
  outer join
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