diff --git a/opp/core/src/main/java/Repository.java b/opp/core/src/main/java/Repository.java
index 97e8e39cb77d40e7af3c5a09a47affcce2d462da..054da27708b5e7e05f8e9330f426b8fc31730255 100644
--- a/opp/core/src/main/java/Repository.java
+++ b/opp/core/src/main/java/Repository.java
@@ -90,11 +90,13 @@ public interface Repository {
     OperationTeam deleteOperationTeam(Id<OperationTeam> id) throws SQLException;
 
 
-    Id<String> opStaffsInOperationTeamsId();
+    //Id<String> opStaffsInOperationTeamsId();
 
-    Optional<Map<OperationTeam, OPStaff>> findOPStaffsInOperationTeam(Id<String> id);
+    //Optional<Map<OperationTeam, OPStaff>> findOPStaffsInOperationTeam(Id<String> id);
     Boolean assignOPStaffToOperationTeam(Id<OperationTeam> operationTeamId, Id<OPStaff> opStaffId);
 
+    Boolean findOperationTeamOPStaffImpl(Id<OperationTeam> operationTeamId, Id<OPStaff> opStaffId);
+
 
 
 
diff --git a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java
index acacacb7fd50c0f37da66516a35141562a2a3f73..daf3079cf5d231b63bcba00f5964afb68b832a4a 100644
--- a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java
+++ b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java
@@ -88,12 +88,12 @@ class JDBCRepository implements Repository
    */
   private static final String CREATE_OP_STAFF_IN_OPERATION_TEAM_TABLE = """
     CREATE TABLE IF NOT EXISTS opStaffsInOperationTeams(
-      id VARCHAR(50) PRIMARY KEY,
       operationTeamId VARCHAR(50),
       opStaffId VARCHAR(50),
       lastUpdate TIMESTAMP NOT NULL,
       FOREIGN KEY (operationTeamId) REFERENCES operationTeams(id),
-      FOREIGN KEY (opStaffId) REFERENCES opStaffs(id)
+      FOREIGN KEY (opStaffId) REFERENCES opStaffs(id),
+      PRIMARY KEY (operationTeamId, opStaffId)
     );
   """;
 
@@ -245,9 +245,8 @@ class JDBCRepository implements Repository
   private String insertSQL(Id<OperationTeam> operationTeamId, Id<OPStaff> opStaffId) {
     return
             "INSERT INTO opStaffsInOperationTeams(" +
-                    "id,operationTeamId,opStaffId,lastUpdate" +
+                    "operationTeamId,opStaffId,lastUpdate" +
                     ") VALUES (" +
-                    sqlValue(opStaffsInOperationTeamsId()) + "," +
                     sqlValue(operationTeamId.value()) + "," +
                     sqlValue(opStaffId.value()) + "," +
                     sqlValue(Instant.now()) +
@@ -659,13 +658,15 @@ class JDBCRepository implements Repository
     return null;
   }
 
+  /*
   @Override
   public Id<String> opStaffsInOperationTeamsId() {
     var id = new Id<String>(randomUUID().toString());
 
     return findOPStaffsInOperationTeam(id).isEmpty() ? id : opStaffsInOperationTeamsId();
   }
-
+*/
+  /*
   @Override
   public Optional<Map<OperationTeam, OPStaff>> findOPStaffsInOperationTeam(Id<String> id) {
     try (
@@ -698,7 +699,7 @@ class JDBCRepository implements Repository
     } catch (SQLException e){
       throw new RuntimeException(e);
     }
-  }
+  }*/
 
   @Override
   public Boolean assignOPStaffToOperationTeam(Id<OperationTeam> operationTeamId, Id<OPStaff> opStaffId) {
@@ -799,6 +800,32 @@ class JDBCRepository implements Repository
     }
   }
 
+
+  public Boolean findOperationTeamOPStaffImpl(Id<OperationTeam> operationTeamId, Id<OPStaff> opStaffId){
+
+    try(
+            var result =
+                    conn.createStatement()
+                            .executeQuery("SELECT DISTINCT opStaffs.id, opStaffs.role, opStaffs.specialty, opStaffs.lastupdate " +
+                                    "FROM opStaffs " +
+                                    "JOIN opStaffsInOperationTeams " +
+                                    "ON (opStaffs.id = opStaffsInOperationTeams.opstaffid) " +
+                                    "WHERE opStaffsInOperationTeams.operationteamid = '"+operationTeamId.value()+"'" +
+                                    "AND opStaffsInOperationTeams.opStaffId = '"+opStaffId.value()+"';");
+            //SELECT DISTINCT opStaffs.id, opStaffs.role, opStaffs.specialty, opStaffs.lastupdate FROM opStaffs JOIN opStaffsInOperationTeams ON (opStaffs.id = '4444') WHERE opStaffsInOperationTeams.operationteamid = '31';S
+    ) {
+      //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';
+
+      while (result.next()) {
+        return true;
+      }
+      return false;
+    }catch(SQLException e){
+      throw new RuntimeException(e);
+    }
+  }
+
   //endregion
 
 
diff --git a/opp/jdbc-repo-impl/src/test/java/Tests.java b/opp/jdbc-repo-impl/src/test/java/Tests.java
index 8d9464a4aef0a6066e42e7352a2fa57851cc6f3c..4fd5d284c6f08aa7e0a79d64048dfed3ddb782e2 100644
--- a/opp/jdbc-repo-impl/src/test/java/Tests.java
+++ b/opp/jdbc-repo-impl/src/test/java/Tests.java
@@ -267,6 +267,28 @@ public final class Tests
     assertTrue(result);
   }
 
+  @Test
+  public void testAssignStaffToOperationTeamProcess() throws Exception {
+
+    OPStaff.CreateOPStaff createOPStaffCommand = new OPStaff.CreateOPStaff(
+            Role.SURGEON,
+            Specialty.Gastroenterology
+    );
+
+    OPStaff createdOPStaff = opStaffService.process(createOPStaffCommand);
+
+    OperationTeam.AssignStaff operationTeamCommand = new OperationTeam.AssignStaff(
+            testOperationTeam.id(),
+            createdOPStaff
+    );
+
+    OperationTeam returnedOperationTeam = operationTeamService.process(operationTeamCommand);
+
+    Boolean result = repo.findOperationTeamOPStaffImpl(returnedOperationTeam.id(),createdOPStaff.id());
+
+    assertTrue(result);
+  }
+
 
 
   //@Test