Du kan bruge en simpel JOIN til dette job:
SELECT
m1.*
FROM
mytable m1
INNER JOIN mytable2 m2
ON m1.history = m2.history
returnerer:
id emails phones history insert_date
237 PLEASE SET [email protected] gomez 2015-01-11
Forespørgslen i dit spørgsmål ville se sådan ud:
SELECT
m1.*
FROM
mytable m1
INNER JOIN mytable2 m2
ON m1.history = m2.history
WHERE `insert_date` >= DATE_SUB(CURDATE(), INTERVAL 3 DAY)
Og det returnerer korrekt intet, fordi den eneste kvalificerende rekord har en dato, der er ældre end 3 dage.
Her er en utrolig nyttig infografik, der relaterer sætoperationer til SQL-funktioner
http://www.codeproject.com/KB/database/Visual_SQL_Joins/Visual_SQL_JOINS_or .jpg