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

Copia i dati da una tabella all'altra con condizioni specifiche

Il tuo LEFT JOIN con la condizione consignment.id >id1 sta quasi creando un prodotto catesiano. Quello che probabilmente vuoi è inserire solo righe con un id più alto dalla tabella di origine rispetto al id1 più alto nella tabella di destinazione. Dovresti usare un SELECT MAX(id) subquery invece:

SELECT [..]
FROM  `eamglo5_singaporelive`.`consignment` 
WHERE `eamglo5_singaporelive`.`consignment`.`processed`=1 
  and `eamglo5_singaporelive`.`consignment`.date_booked>'2018-07-17'
  and `eamglo5_singaporelive`.`consignment`.id > (
     SELECT MAX(id1) FROM eamglo5_billingsystem.`consignment`
  )