This may be case sensitive.
or
Does table1 have a column field2?
If not / so, and as per your question, try like this:
SELECT t2.name FROM table1 t1 INNER JOIN table2 t2 ON t1.h_id = t2.h_id WHERE t1.Date = CURDATE()
Another possibility is where clause, try to do it like this:
SELECT t2.name FROM table1 t1 INNER JOIN table2 t2 ON t1.h_id = t2.h_id WHERE convert(varchar, t1.Date, 112) = convert(varchar, getdate(), 112)
The final possibility is that there is no h_id value from table1 and table2.
source share