Non riesco a risolvere l'errore in oggetto, di seguito vi stilizzo le due tabelle usate nella query; P.s.: la linea 22 è commentata nel codice sql:

Tabella1:
  1. cod (integer)
  2. risultato (integer)
  3. campo (varchar)


Tabella2:
  1. cod (integer)
  2. p_d (integer)
  3. ini (integer)
  4. fin (integer)
  5. num (integer)


codice:
UPDATE 
  Tabella1 
  INNER JOIN Tabella2 
    ON Tabella1.cod = Tabella2.cod SET Tabella1.risultato = IF (
      Tabella2.p_d = 0,
      IF (
        MOD(CAST(Tabella1.campo AS UNSIGNED), 2) = 0 
        AND CAST(Tabella1.campo AS UNSIGNED) >= Tabella2.ini
        AND CAST(Tabella1.campo AS UNSIGNED) <= Tabella2.fin,
        Tabella2.num,
        Tabella1.risultato
      ),
      IF (
        Tabella2.p_d = 1,
        IF (
          MOD(CAST(Tabella1.campo AS UNSIGNED), 2) > 0 
          AND CAST(Tabella1.campo AS UNSIGNED) >= Tabella2.ini
          AND CAST(Tabella1.campo AS UNSIGNED) <= Tabella2.fin,
          Tabella2.num,
          Tabella1.risultato
        )
      ) #linea 22
    );
Grazie.