Всем привет! Имеется такая структура базы:
content
|------
|id|title|content|user
|------
|1|Заголовок контента 1|Контент 1|1
|2|Заголовок контента 2|Контент 2|2
|3|Заголовок контента 3|Контент 3|1
categories
|------
|id|name
|------
|1|Категория 1
|2|Категория 2
|3|Категория 3
|4|Категория 4
|5|Категория 5
content_categories
|------
|id|content_id|category_id
|------
|1|1|2
|2|1|3
|3|1|5
|4|2|1
|5|2|4
files
|------
|id|content_id|file_name|path
|------
|1|1|Фото.png|files/1/42/3332.png
|2|1|Фото.jpg|files/3/77/3532.jpg
|3|2|Документ.doc|files/5/7388853.doc
users
|------
|id|name
|------
|1|Павел
|2|Мария
Выполняются 3 запроса
Запрос 1
SELECT
`c`.*, `u`.`name` AS `user_name`
FROM
`content` AS `c`
LEFT JOIN `users` AS `u` ON `u`.`id` = `c`.`user`
WHERE
`c`.`id` = 1
Запрос 2
SELECT
`c`.*
FROM
`content_categories` AS `cc`
LEFT JOIN `categories` AS `c` ON `c`.`id` = `cc`.`category_id`
WHERE
`cc`.`content_id` = 1
Запрос 3
SELECT
`id`, `file_name`, `path`
FROM
`files`
WHERE
`content_id` = 1
Получаем такой результат
Array
(
[id] => 1
[title] => Заголовок контента 1
[content] => Контент 1
[user] => 1
[user_name] => Павел
[categories] => Array
(
[0] => Array
(
[id] => 2
[name] => Категория 2
)
[1] => Array
(
[id] => 3
[name] => Категория 3
)
[2] => Array
(
[id] => 5
[name] => Категория 5
)
)
[files] => Array
(
[0] => Array
(
[id] => 1
[file_name] => Фото.png
[path] => files/1/42/3332.png
)
[1] => Array
(
[id] => 2
[file_name] => Фото.jpg
[path] => files/3/77/3532.jpg
)
)
)
Можно ли объединить эти 3 запроса, что бы получить такой же результат, или хотя бы примерно такой?