diff --git a/opp/core/src/main/java/OperationTeamService.java b/opp/core/src/main/java/OperationTeamService.java
index 59cbfefd75fc4d02f33732da11cd53585b8830ba..4a77bbdcb379cc75a67c447d48dea6fcbdb72b12 100644
--- a/opp/core/src/main/java/OperationTeamService.java
+++ b/opp/core/src/main/java/OperationTeamService.java
@@ -10,7 +10,4 @@ public interface OperationTeamService {
 
     public List<OperationTeam> getOperationTeams() throws SQLException;
 
-    //public Optional<OPStaff> getOperationTeamOPStaff(Id<OperationTeam> operationTeamId);
-
-
 }
diff --git a/opp/core/src/main/java/Repository.java b/opp/core/src/main/java/Repository.java
index f540cac6a4ffc3ed09a9d4e2b24f0304c32439f4..7baa7b3cccbc23bd0b8989666dcd1bfab902c641 100644
--- a/opp/core/src/main/java/Repository.java
+++ b/opp/core/src/main/java/Repository.java
@@ -93,4 +93,6 @@ public interface Repository {
     Id<TeamMember> teamMemberId();
 
     void saveTeamMember(TeamMember teamMember) throws Exception;
+
+    List<OPStaff> getOperationTeamOPStaffImpl(Id<OperationTeam> operationTeamId);
 }
diff --git a/opp/core/src/main/java/TeamMemberImpl.java b/opp/core/src/main/java/TeamMemberImpl.java
index d4ea4062d3a46a872ecce7c866a039a8dce6dcdb..2f4a27182f977b6f8e436b4066ddc229158f0692 100644
--- a/opp/core/src/main/java/TeamMemberImpl.java
+++ b/opp/core/src/main/java/TeamMemberImpl.java
@@ -1,4 +1,5 @@
 import java.time.Instant;
+import java.util.List;
 
 public class TeamMemberImpl implements TeamMemberService{
 
@@ -15,6 +16,11 @@ public class TeamMemberImpl implements TeamMemberService{
         };
     }
 
+    @Override
+    public List<OPStaff> getOperationTeamOPStaff(Id<OperationTeam> operationTeamId) {
+        return repo.getOperationTeamOPStaffImpl(operationTeamId);
+    }
+
     private TeamMember assignStaffimpl(TeamMember.AssignStaff as) {
         TeamMember teammember =
                 new TeamMember(
diff --git a/opp/core/src/main/java/TeamMemberService.java b/opp/core/src/main/java/TeamMemberService.java
index faa401bdeaf0af240dd633a5c07195297be73a8a..ac7320163584f98d9c8e818f5e86fad7848fb3bf 100644
--- a/opp/core/src/main/java/TeamMemberService.java
+++ b/opp/core/src/main/java/TeamMemberService.java
@@ -1,4 +1,8 @@
+import java.util.List;
+
 public interface TeamMemberService {
 
     public TeamMember process(TeamMember.Command cmd) throws Exception;
+
+    List<OPStaff> getOperationTeamOPStaff(Id<OperationTeam> operationTeamId);
 }
diff --git a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java
index eb7e0671f5e6d6a1c00ec545d049138f286a9e24..ff3928c2b2c9ca5600f141d6beaf6a1914d37561 100644
--- a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java
+++ b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java
@@ -730,6 +730,34 @@ class JDBCRepository implements Repository
     );
   """;
 
+  @Override
+  public List<OPStaff> getOperationTeamOPStaffImpl(Id<OperationTeam> operationTeamId){
+
+    try(
+            var result =
+                    conn.createStatement()
+                            .executeQuery("SELECT DISTINCT opstaff.id, opstaff.role, opstaff.specialty, opstaff.lastupdate " +
+                                              "FROM opstaff " +
+                                              "JOIN teammember " +
+                                              "ON (opstaff.id = teammember.opstaffid) " +
+                                              "WHERE teammember.operationteamid= " + sqlValue(operationTeamId.value()) + ";");
+    ) {
+      //SELECT DISTINCT opstaff.id, opstaff.role, opstaff.specialty, opstaff.lastupdate, teammember.operationteamid FROM opstaff JOIN teammember ON (opstaff.id = teammember.opstaffid);
+      //SELECT DISTINCT opstaff.id, opstaff.role, opstaff.specialty, opstaff.lastupdate, teammember.operationteamid FROM opstaff JOIN teammember ON (opstaff.id = teammember.opstaffid) WHERE teammember.operationteamid= '31313131';
+      var opStaffs = new ArrayList<OPStaff>();
+
+      while (result.next()) {
+        opStaffs.add(readOPStaffFromRow(result));
+      }
+      return opStaffs;
+    }catch(SQLException e){
+      throw new RuntimeException(e);
+    }
+  }
+
+
+
+
 }
 
 
diff --git a/opp/jdbc-repo-impl/src/test/java/Tests.java b/opp/jdbc-repo-impl/src/test/java/Tests.java
index fd5c1309ba46471d929f26f299d895240a7dff61..6f30ff0472a1853bdacac6dc03daf07ca346d1ac 100644
--- a/opp/jdbc-repo-impl/src/test/java/Tests.java
+++ b/opp/jdbc-repo-impl/src/test/java/Tests.java
@@ -52,8 +52,8 @@ public final class Tests
     opService = new OperationServiceImpl(repo);
 
     testOPStaff = new OPStaff(
-            new Id<>("3333"),
-            Role.SURGEON,
+            new Id<>("4444"),
+            Role.ASSISTANT,
             Specialty.urology,
             Instant.now());
 
@@ -70,12 +70,14 @@ public final class Tests
     };
 
     testTeamMember = new TeamMember(
-            new Id<>("newTeamMember1"),
+            new Id<>("TeamMember2"),
             testOperationTeam.operationTeamId(),
             testOPStaff.id(),
             Instant.now()
     );
 
+    teamMemberService = new TeamMemberImpl(repo);
+
   }
 
   //@Test
@@ -342,7 +344,7 @@ public final class Tests
     }
   }
 
-  @Test
+  //@Test
   public void testGetMultipleOperationTeams() throws Exception{
 
 
@@ -356,7 +358,23 @@ public final class Tests
     } catch (Exception e){
       e.printStackTrace();
     }
+  }
+
+  @Test
+  public void testGetTeamMemberFromTeam() throws Exception{
+
+    var id = new Id<OperationTeam>("31313131");
+
+    try{
+      List<OPStaff> opStaff = teamMemberService.getOperationTeamOPStaff(id);
+
+      for(OPStaff opStaffs1 : opStaff){
+        System.out.println(opStaffs1);
+      }
 
+    } catch (Exception e){
+      e.printStackTrace();
+    }
   }