Hola.
No me parece necesario crear una tabla temporal para recoger el resultado, puede hacer 3 consultas : una para seleccionar los padres que tienen cumpleaños en la fecha, otra para las madres, y una tercera para los hijos. Finalmente para que estén todos los datos en un DataSet, se pueden unir las 3 consultas en un TQuery mediante el UNION.
No he trabajado con Paradox, pero la sintaxis debe ser algo parecido a :
Código:
SELECT NombrePadre As Nombre, NacimientoPadre As Nacimiento
FROM Padres
WHERE Extract(Month from NacimientoPadre) = :MES and
Extract(Day from NacimientoPadre) = :DIA
UNION
SELECT NombreMadre, NacimientoMadre
FROM Padres
WHERE Extract(Month from NacimientoMadre) = :MES and
Extract(Day from NacimientoMadre) = :DIA
UNION
SELECT Nombre, Nacimiento
FROM Hijos
WHERE Extract(Month from Nacimiento) = :MES and
Extract(Day from Nacimiento) = :DIA
NOTA : He supuesto que en la tabla Padres, están los dos progenitores en un mismo registro. En caso contrario aún es más senzillo, puesto que sería simplemente un UNION de dos consultas (una para cada tabla).
Saludos