Вот что я хочу сделать:
Выделите все строки из таблицы «сообщения», а также извлекайте связанные объекты, такие как автор (из таблицы «пользователи») и названия категорий, к которым принадлежит сообщение (из таблицы «категории»).
Пока это два моих запроса:
Этот выбирает сообщения:
SELECT<br>
posts.*<br>
, users.authorName AS author<br>
FROM posts<br>
INNER JOIN users<br>
ON users.id = posts.author
А этот список разделенных запятыми категорий для определенного сообщения:
SELECT<br>
GROUP_CONCAT(categories.category) AS categories<br>
FROM categories<br>
INNER JOIN post_category<br>
ON post_category.categoryID = categories.id<br>
WHERE<br>
post_category.postID = ?
Два запроса самостоятельно работают нормально.
Естественно, когда они объединены, мне не понадобится предложение WHERE для второго запроса.
Я попытался использовать второй запрос в качестве подзапроса в предложении SELECT первого, но он выбрал разделенный запятыми список ВСЕХ категорий для ВСЕХ сообщений. Мне нужны только категории для сообщения, которое я сейчас перебираю.
Любая помощь будет принята с благодарностью, и я прошу прощения, если что-то из этого неясно - мне достаточно сложно подумать, не говоря уже о том, чтобы описать другим людям;)