Уважаемые, небольшой ступор как сделать запрос. Есть две таблицы, в одной данные для каждого объекта, а во второй его состояние(id, время когда было изменение). Требуется сделать выборку чтобы получить список всех объектов и их последнее изменение, то есть вывести все объекты и если изменение в выбранной дате было то записать это время, если изменения не было(нет соответствующей записи таблицы) то записать NULL. Как составить запрос? Пробовал таким запросом но условие неправильное немного. По разному пробовал либо не полностью возвращает либо ничего.
SELECT `objects`.`id`, `objects`.`weight`, `objects`.`price`,
`objects`.`status`, MAX(status.changeStatusTime)
FROM `objects`
LEFT JOIN `status` ON `status`.`id_obj` = `objects`.`id`
WHERE DATE(status.changeStatusTime) = '2017-02-05'
GROUP BY `objects`.`id`
Если правильно угадал со смыслом вопроса, то как-то так:
SELECT o.id, o.weight, o.price, o.status, s.ts
FROM `objects` AS o
LEFT JOIN ( SELECT id_obj, MAX(changeStatusTime) AS ts
FROM `status`
WHERE DATE(status.changeStatusTime) = '2017-02-05'
GROUP BY id_obj
) AS s ON s.id_obj = o.id
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости