Bạn nên phân biệt giữa 2 cột có cùng tên bằng cách sử dụng bí danh cho một hoặc cả 2 cột trong truy vấn như sau
SELECT a.`date`, b.`date` as b_date
FROM table1 a
JOIN table2 b ON a.id = b.a_id
WHERE some specific criteria
Bây giờ khi bạn truy xuất ROW mỗi date
có tên riêng của nó, tức là
$row->date;
$row->b_date;