Problemi con query annidate

Ciao Gianni,

ho provato ho suddividere il programma di ieri in più programmini, tutto funziona tranne questo script, in cui vi è una query annidata:

<HTML>
  <HEAD>
    <TITLE> Verifica piani di studio inseriti </TITLE>
  </HEAD>

  <BODY BACKGROUND="Sfondo1.gif">
   
    <CENTER>
      <STRONG>
        <FONT FACE="Comic Sans MS" SIZE=3> VERIFICA PIANI DI STUDIO INSERITI </FONT>
      </STRONG>
    </CENTER>
     
    <BR><BR>
    <?      
      require "Login.php";
      $query1= "SELECT Matricola,Cod_L FROM STUDENTI";
      $ris1= mysql_query($query1,$Connessione) or die('<IMG SRC="No.gif" ALIGN="MIDDLE">Errore nella query: '.mysql_error());
       
        $riga=mysql_fetch_assoc($ris1);
        $Mat=$riga['Matricola'];  // Generica Matricola
        $Cod_L=$riga['Cod_L'];  // Generico corso di laurea

      $query2="SELECT COUNT(*) AS NonPrevisti FROM PIANI,PREVEDE WHERE ((Mat = '$Mat') AND (PIANI.Cod_Esame = PREVEDE.Cod_Esame) AND (Tipo = 'O') AND (PIANI.Cod_Esame NOT IN SELECT Cod_Esame FROM PREVEDE WHERE ((Cod_L = '$Cod_L') AND (Tipo = 'O'))))";
      $ris2=mysql_query($query2,$Connessione) or die('<IMG SRC="No.gif" ALIGN="MIDDLE">Errore nella query: '.mysql_error());
      $riga2=mysql_fetch_assoc($ris2);
      $NonPrevisti=$riga2['NonPrevisti'];
    ?>
  </BODY>      
</HTML>

Il problema è nella query annidata,almeno credo. . . .

L'errore è il seguente:

Errore nella query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT Cod_Esame FROM PREVEDE WHERE ((Cod_L = 'CL07') AND (Tipo = 'O'))))' at line 1

GRAZIE MILLE!!!

inviato 12 anni fa
noems
X 0 X

prova a mettere una parentesi tonda tra NOT IN  e SELECT. Ovviamente poi va chiusa.

 :bye:

risposto 12 anni fa
Gianni Tomasicchio
X 0 X

Perfetto!!! O0

risposto 12 anni fa
noems
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda