SQL-запрос, Объединение двух таблиц, ПОРЯДОК ПО не работает

#sql

Вопрос:

У меня есть две таблицы, и я хотел бы сделать запрос, чтобы посмотреть все компании из БД, и если есть задачи с тем же company_code показывают только самые актуальные на сегодняшний день(сегодня), в случае, если компанией не стоит задача показать информацию о компании и «нет задач».

Компании (первая таблица) идентификатор, код компании, Имя, Телефон, Электронная почта, Веб-сайт

Задачи (вторая таблица) идентификатор, код компании, комментарий, дата,

мой текущий код:

     $date = date('Y-m-d H:i:s'); 
    $sql = "
SELECT *
FROM companies LEFT JOIN
     (SELECT comment, company_code FROM tasks ORDER BY date DESC WHERE date >= $date) tasks
     ON companies.company_code = tasks.company_code
GROUP BY companies.company_code;";
 

Заранее благодарю вас!

Комментарии:

1. Примеры данных, желаемые результаты и соответствующий тег базы данных-все это поможет.

2. Чтобы ваш конечный результат был упорядочен, вы должны поместить ORDER BY его на самый внешний уровень, т. е. после GROUP BY .

Ответ №1:

Если я правильно понимаю:

 SELECT c.*, COALESCE(t.comment, 'No task')
FROM companies c LEFT JOIN
     tasks t
     ON t.company_code = c.company_code AND
        t.date >= $date;