Mysql
 sql >> Database >  >> RDS >> Mysql

dov'è l'errore nel mio codice sql?

JOIN t2 ON t1.wid = t1.wid

intendevi questo? o intendi davvero t1.wid =t2.wid? nel qual caso vorresti un join sinistro.

MODIFICA

Ok, quindi hai risolto. Questo non mostrerà alcun risultato a meno che non ci siano righe in t2 che hanno una larghezza che corrisponde a una riga in t1 con la stessa larghezza.

Se vuoi risultati, cambialo in questo:

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

PROSSIMA MODIFICA

Se l'obiettivo è aggiornare t2 con valori di t1 che non sono GIÀ in t2, allora sarebbe qualcosa del genere:

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

Il passaggio mancante era semplicemente restituire solo i risultati di t1 e quindi inserirli in t2.