Non so come scrivere bene questa query:

Codice PHP:
// ids_schede_testa e' un vettore con i valori che devo inserire nell' IN operator alla query sotto
$in str_repeat("?,"count($ids_schede_testa) - 1) . "?";

$sub_sql 
      
"SELECT Sum(nol) AS SommaNbl
      FROM Schede_corpo
      WHERE fk_schede_testa IN (
$in
      GROUP BY Schede_corpo.fk_esercizio, fk_schede_testa 
      HAVING Schede_corpo.fk_esercizio = :id_esercizio;
                
    
$sub_result = $connessione->prepare($sub_sql);
    
$sub_result->bindParam(":id_esercizio", $id_esercizio, PDO::PARAM_INT);
    
$sub_result->execute($ids_schede_testa);
    
$sub_row = $sub_result->fetch(PDO::FETCH_ASSOC); 
L'errore che mi restituisce e':
PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: mixed named and positional parameters in etc...

Capisco che non posso mixare i valori passando contemporaneamente i parametri tramite posizione nell IN operator e tramite bindparam.
Come posso riscrivere la query?
Grazie.