Du kan använda en enkel GÅ MED för det här jobbet:
SELECT
m1.*
FROM
mytable m1
INNER JOIN mytable2 m2
ON m1.history = m2.history
returnerar:
id emails phones history insert_date
237 PLEASE SET [email protected] gomez 2015-01-11
Frågan i din fråga skulle se ut så här:
SELECT
m1.*
FROM
mytable m1
INNER JOIN mytable2 m2
ON m1.history = m2.history
WHERE `insert_date` >= DATE_SUB(CURDATE(), INTERVAL 3 DAY)
Och det returnerar korrekt ingenting eftersom det enda kvalificerande rekordet har ett datum som är äldre än 3 dagar.
Här är en otroligt användbar infografik som relaterar setoperationer till SQL-funktioner
http://www.codeproject.com/KB/database/Visual_SQL_Joins/Visual_SQL_JOINS_or .jpg