Avatar billede jewo Nybegynder
26. maj 2009 - 11:26 Der er 4 kommentarer og
1 løsning

Forespørgsel om relationer inden for den samme tabel

Jeg ønsker at lave en forespørgsel om relationer inden for den samme tabel.

Jeg har en tabel over deltagere, der samarbejder på kryds og tværs i forskellige projekter. Der er 5 forskellige typer af deltagere.

Jeg ønsker at måle, hvilke deltagertyper som samarbejder med hinanden.

Min plan er at oprette en tabel for hver af de 5 deltagertyper. Hver tabel vil så indeholde deltagere fra kun den ene deltagertype. Herefter vil jeg linke tabellen for den ene deltagertype med tabellen for alle deltagere. Jeg vil så få vist, hvor mange gange den ene type af deltagere samarbejde med deltagere fra samme type og fra de andre typer.

Mit problem er så, hvordan jeg undgår, at forespørgslen registrerer en deltagers relation med sig selv.

Er der nogen gode bud på, hvordan jeg eliminerer sådanne "falske" relationer?

/jewo
Avatar billede terry Ekspert
26. maj 2009 - 19:08 #1
If you show us your table design and maybe an example query it nay be easier to help
Avatar billede Slettet bruger
27. maj 2009 - 12:22 #2
.. og på dansk: Ser ikke ud til at nogen gider, uden mere konkrete tabel definitioner.
Det er fordi - for at svare skal man 'konstuere videre' konkret ud fra dine anvendelses beskrevne krav - og det er for omfangsridt, risikoen for at det bliver et 'skud i tågen', taget i betragtning

Tabeldefinition:

Person(id integer not null,navn text(100),deltType integer, constraint Person_PK Primary key(id))

eller mindre ambitøst:

Person(id,navn,deltType) - id er primærnøgle
Avatar billede jewo Nybegynder
27. maj 2009 - 14:53 #3
Hej

I tabellen er der følgende felter:

Projekt ID nr. (hver deltager er i et projekt med unikt ID nr.)
Land
Deltagertype
Fornavn
Efternavn
Avatar billede Slettet bruger
28. maj 2009 - 09:31 #4
Udvælgelse i mængdeprodukt på sig selv:

SELECT count(tabellen.[Projekt ID nr.]) from tabellen inner join tabellen as  ap on tabellen.[Projekt ID nr.]=ap.[Projekt ID nr.] where (project.deltagertype=<én deltagertype>) and (ap.deltagertype=<den type der undersøges for samarbejde med>)
Avatar billede Slettet bruger
28. maj 2009 - 09:39 #5
.. og så svarede jeg ikke på udelukkelse af 'selvreference' - aktuelt hvis der undersøges på samarbejde med den type en deltager selv er: Giver nok sig selv: tabellen.navn<>ap.navn - navn skal selvfølgeligt være unikt.

Det letter læsbarheden med mere mere retvisende navngivning end 'tabellen', når der skal svares på spørgsmål.
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