sql >> Base de Datos >  >> RDS >> Mysql

¿Dónde está la falla en mi código sql?

JOIN t2 ON t1.wid = t1.wid

¿Quisiste decir eso? ¿O realmente quieres decir t1.wid =t2.wid? en cuyo caso querrá una combinación izquierda.

EDITAR

Bien, entonces lo arreglaste. Eso no mostrará ningún resultado a menos que haya filas en t2 que tengan un ancho que coincida con una fila en t1 con el mismo ancho.

Si quieres resultados, cámbialo a esto:

'SELECT * FROM t1
          LEFT JOIN t2 ON t1.wid = t2.wid
          WHERE t2.wid IS NULL
          LIMIT ' . $number;

SIGUIENTE EDICIÓN

Si el objetivo es actualizar t2 con valores de t1 que YA NO están en t2, sería algo como esto:

'INSERT INTO t2 
   SELECT t1.* FROM t1
     LEFT JOIN t2 
        ON t1.wid = t2.wid
     WHERE t2.wid IS NULL
     LIMIT ' . $number;

El paso que faltaba era simplemente devolver solo los resultados de t1 y luego insertarlos en t2.