Mysql
 sql >> Base de données >  >> RDS >> Mysql

Copier des données d'une table à une autre avec une condition spécifique

Votre LEFT JOIN avec la condition consignment.id >id1 est presque en train de créer un produit catésien. Ce que vous voulez probablement, c'est n'insérer que des lignes avec un id plus élevé de la table source que le plus haut id1 dans le tableau des destinations. Vous devez utiliser un SELECT MAX(id) sous-requête à la place :

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`
  )