Vous pouvez utiliser un simple JOIN pour ce travail :
SELECT
m1.*
FROM
mytable m1
INNER JOIN mytable2 m2
ON m1.history = m2.history
renvoie :
id emails phones history insert_date
237 PLEASE SET [email protected] gomez 2015-01-11
La requête dans votre question ressemblerait à ceci :
SELECT
m1.*
FROM
mytable m1
INNER JOIN mytable2 m2
ON m1.history = m2.history
WHERE `insert_date` >= DATE_SUB(CURDATE(), INTERVAL 3 DAY)
Et il ne renvoie correctement rien car le seul enregistrement qualifiant a une date antérieure à 3 jours.
Voici une infographie incroyablement utile reliant les opérations d'ensemble aux fonctions SQL
http://www.codeproject.com/KB/database/Visual_SQL_Joins/Visual_SQL_JOINS_orig .jpg