26. maj 2009 - 11:26Der 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?
If you show us your table design and maybe an example query it nay be easier to help
Synes godt om
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))
Projekt ID nr. (hver deltager er i et projekt med unikt ID nr.) Land Deltagertype Fornavn Efternavn
Synes godt om
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>)
Synes godt om
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.
Synes godt om
Ny brugerNybegynder
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.