Avatar billede ddjppol Nybegynder
25. februar 2008 - 10:01 Der er 2 kommentarer

query hjælp til join

jeg har 2 tabeller jeg skal have joinet, men har et problem.

I den ene tabel har jeg et felt der indeholder følgende:

(Forfatter: Hans larsen)(Forfatter: Peter andersen)
eller
(Forfatter: Gudrun petersen)

og der skal jeg kunne joine KUN på deres navn.

Hvordan gøres det lige?
Avatar billede terry Ekspert
25. februar 2008 - 18:50 #1
Avatar billede HenrikSjang Nybegynder
07. marts 2008 - 22:53 #2
Jeg går ud fra at terry's link er et hint til at du bør overveje at omstrukturere dine data. Det bliver noget hø hvis man skal til at dissekere felter for at kunne joine på dem. Det vil være bedre med en tabelstruktur der fx kunne se sådan ud:

Forfatter: (ForfatterID, navn)

Bog: (BogID, Titel, ..) - Undlad at have et Forfatter-felt i denne tabel.

BogForfatter: (BogForfatterID, BogID, ForfatterID)


Hver forfatter findes så netop én gang i Forfatter tabellen. Og hver bog findes netop én gang i bog-tabellen. Og relationen mellem hvilke(n) forfatter(e) der har skrevet bogen, findes så i BogForfatter tabellen.

Hvis BogID 1 er skrevet af kun én forfatter, som har ForfatterID = 4, så findes der blot én række i BogForfatter med (x, 1, 4). Men hvis bogen også har en anden medforfatter, som har forfatterid 8, så putter man også (y, 1, 8) i relationstabellen.

Hvis ikke du har mulighed for at omstrukturere dit design, så tror jeg du er ude i noget snavn.
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
Computerworld tilbyder specialiserede kurser i database-management

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