Steen Eiler Jørgensen skrev:
> Jeg har en tabel i basen med artikler. Hver artikel har
> mulighed for tilknytning af op til to forskellige forfattere.
> Der er separate felter til angivelse af forfatternes for- og
> efternavne, så man kan sortere efter efternavn.
Nu er du forhåbentlig 110 % sikker på at der ikke kan være tre
forfattere til en enkelt artikel ;) Generelt er det ikke godt at
gemme den samme type oplysning (forfatternavnet) flere steder (i
hhv. forfatter1 og forfatter2). Men der kan selvfølgelig være
forskel på teori og praksis.
Hvis du vil have normaliseret din datastruktur skal du oprette en
tabel til forfatterne samt en tabel til at sammenkæde artikler og
forfattere. Så vil en artikel kunne have vilkårligt mange
forfattere - det kan så være en fordel eller en ulempe, alt efter
synsvinklen.
Dit spørgsmål kan dog sagtens løses uden at ændre strukturen - se
herunder.
> Nu vil jeg gerne lave en liste over artikler ordnet alfabetisk
> efter forfattere. Det vil så sige, at artiklen ovenfor skal
> figurere TO gange i listen: både under "Hansen, Per" og
> "Jensen, Jens"
Det kan også godt lade sig gøre. Du kan se på din tabel af to
omgange, én hvor du kigger på forfatter1 og en anden hvor du kigger
på forfatter2. De to forespørgsler kædes sammen med en UNION-
forespørgsel:
******************
SELECT titel, for1for AS fornavn, for1efter AS efternavn
FROM tblArtikler
UNION
SELECT titel, For2for, for2efter
FROM tblArtikler
ORDER BY efternavn, fornavn, titel
******************
Feltnavnene bestemmes af den første forespørgsel i UNION-
forespørgslen, og ORDER BY-klausulen går på det hele.
NB: Dit spørgsmål hører egentlig mere til i <news:dk.edb.database>.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på
http://usenet.dk/netikette/citatteknik.html