Avatar billede pfp Nybegynder
18. januar 2007 - 12:09 Der er 2 kommentarer og
2 løsninger

Kombiner data fra tabeller

Hej,

Jeg har lidt problemer med en stored procedure.

Jeg har følgende 4 tabeller:

Projects:
- Id
- Title

Teams:
- Id
- ProjectId

ProjectMembers:
- Id
- TeamRole

TeamAndMemberRelations:
- TeamId
- ProjectMemberId

Altså kan via TeamAndMemberRelations se hvilke ProjectMembers der er tilknyttet hvilke Teams.

Jeg vil meget gerne udforme en stored procedure som tager ProjectId som input, og giver mig ProjectMember.Id og ProjectMember.TeamRole retur.

For at kunne gøre det kræver det at jeg først får fat i samtlige teams, og derefter får fundet frem til hvilke members der er på disse teams.

Jeg har svært ved lige at tænke det i én SP uden at lave en form for løkke (som jeg ikke mestrer i SP..)

Er der nogen der har et input til hvordan det kan gribes an?

/pfp
Avatar billede arne_v Ekspert
19. januar 2007 - 01:32 #1
du skal vel bare joine de 4 tabeller og have en WHERE betingelse på argumentet og projects.id
Avatar billede tjha Nybegynder
19. januar 2007 - 15:03 #2
Prøv

CREATE PROCEDURE test @PrID INT
AS

SELECT ProjectMember.ID, ProjectMember.TeamRole
FROM  Projects

      INNER JOIN Teams
      ON Projects.Id = Teams.ProjectId

      INNER JOIN TeamAndMemberRelation
      ON Teams.Id = TeamAndMemberRelation.TeamId

      INNER JOIN ProjectMembers
      ON TeamAndMemberRelations.ProjectMemberId = ProjectMembers.Id
Avatar billede pfp Nybegynder
23. januar 2007 - 20:35 #3
Tak til jer begge to for jeres input.

Smider i et svar begge to?
Avatar billede arne_v Ekspert
23. januar 2007 - 20:58 #4
.
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