У меня трудное время с запросом.
У меня есть таблица с именем project_slugs
, которая содержит следующие поля id, project_id, slug, created
.
У меня есть основная таблица projects
содержит различные поля.
Существует отношение внешнего ключа через projects.id
, и project_slugs.project_id
.
project_slugs
может содержать несколько слагов для любого данного проекта.
Я хочу получить один результат, который имеет все поля из таблицы projects
плюс самое последнее созданное projects_slug.slug
для данного проекта.Это должно быть достигнуто WHERE projects_slug.slug = 'some-slug'
, где 'some-slug' может быть или не быть самым последним slug.
Я могу успешно присоединиться к таблицам, однако я не уверен, как включить жирную логику выше.
Вот мой текущий запрос:
SELECT projects.*, project_slugs.slug
FROM `project_slugs` LEFT JOIN
`projects`
ON project_slugs.project_id = projects.id
WHERE project_slugs.slug = 'some-slug'
Слагы:

Проекты:

Ожидаемый выход с входом:
SELECT projects.*, project_slugs.slug
FROM `project_slugs` LEFT JOIN
`projects`
ON project_slugs.project_id = projects.id
WHERE project_slugs.slug = 'star-management-week-2015'

Ожидаемый выход будетбыть тем, что вы видите на последнем изображении + значение самое последнее slug
, которое обведено кружком в соответствии с project_slugs.created
.Дано любой project_slugs.slug
(новый или старый) в качестве идентификатора.Я даже не уверен, возможно ли это в sql.Логика довольно проста в php.