devi usare NOT IN...

o fai diventare $Idapp2 un array:
Codice PHP:

      $Idapp2
=array();
       
$j=0;
      while(
$row mysql_fetch_array($result2)) 
        {
          
$Idapp2[$j]        = $row['Id'];
          
$j++;
        } 
e poi gli passi l'array nel NOT IN
Codice PHP:
$query ="SELECT * FROM appuntamentiora
WHERE Id NOT IN ("
;
foreach (
$Idapp2 as $value)
  {
   
$query .="$value,";
  }
substr_replace($query ,"",-1); //rimuovi l'ultima virgola
$query .=") AND giornosett = '$giornosett' ORDER BY orarioA";

$result mysql_query($query); 


OPPURE fai tutto da SQL più o meno così:
Codice PHP:
$query ="SELECT * FROM appuntamentiora
WHERE Id NOT IN (
SELECT Id FROM appuntamentiora JOIN appuntamenti ON appuntamenti.id_appuntamento_ora = appuntamentiora.Id
WHERE appuntamenti.str_data = 
$str_data
AND giornosett = '
$giornosett'
)                   
AND giornosett = '
$giornosett'
ORDER BY orarioA"
;

$result mysql_query($query);