С уточнением относительно уникальности полей идентификаторов:
select t1.t1_id, t1.t1_date, t1.t1_text, t2.t2_id, t2.t2_date, t2.t2_text
from table_1 t1
inner join (SELECT t1_id, max(t1_date) as date from table_1) t1m
on t1.t1_id = t1m.t1_id and t1.t1_date = t1m.date
inner join table_2 t2
on t1.t1_id = t2.t1_id
inner join (SELECT t2_id, max(t2_date) as date from table_2) t2m
on t2.t2_id = t2m.t2_id and t2.t2_date = t2m.date;
В этом запросе встроенные таблицы выбирают идентификаторы с максимальной датой, которые затем соединяются с исходной таблицей, чтобы получить оставшиеся поля.
Тем не менее, могут быть дубликаты t1_id, если комбинация t1_id и t1_date не уникальна.Но в этом случае я не думаю, что дублирование должно быть скрыто, а скорее устранено.
Оригинальный ответ:
Вам нужно использовать внутреннее соединение, а не левое соединение.
SELECT `table_1`.`t1_text` AS 'Text', `table_1`.`t1_date` AS 't1_date', `table_2`.`t2_text` AS 't2_Text', `table_2`.`t2_date` AS 'Date'
FROM `table_1`
INNER JOIN `table_2`
ON `table_1`.`t1_id`=`table_2`.`t1_id`
ORDER BY `table_1`.`t1_date` DESC LIMIT 10
Кроме того, некоторые из ваших символов кавычек не согласованы, для разных баз данных могут потребоваться разные символы кавычек для разделения имен, но сочетание может вызвать проблемы.