Bạn có thể sử dụng GROUP_CONCAT()
và GROUP BY
để có được kết quả bạn mong muốn:
SELECT t1.*, GROUP_CONCAT(t2.date) AS dates
FROM Table1 t1
LEFT JOIN Table2 t2
ON t2.ID_adv = t1.ID_adv
GROUP BY t1.ID_adv
Điều này trả về tất cả các ngày cho mỗi quảng cáo, được nối bằng dấu phẩy. Nếu không có ngày nào trong Table2 cho một quảng cáo cụ thể, bạn sẽ nhận được NULL cho cột ngày.
Để nhắm mục tiêu một quảng cáo cụ thể, chỉ cần thêm WHERE
mệnh đề:
SELECT t1.*, GROUP_CONCAT(t2.date) AS dates
FROM Table1 t1
LEFT JOIN Table2 t2
ON t2.ID_adv = t1.ID_adv
WHERE t1.ID_adv = 3
GROUP BY t1.ID_adv