Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте, у меня такая задача:
есть 4-е таблицы
type - с категориями
images - (один ко многим) тут допустим хранятся пути до картинок и описание
posts - с названиями постов
comment - комментарии
Не знаю как вывести, списком, вроде этого:
id title text postCount type commentCount
1 ttt xxx 7 3 23
Сделал что то вроде того:
Отредактированно Марк (09.10.2013 22:19:05)
Неактивен
Здравствуйте.
В запросе Вы считаете COUNT(h.id), то есть количество постов.
Одновременно пытаетесь вывести текст поста (в выборке присутствует h.text).
Напрямую это невозможно - ибо нельзя получить в одном запросе и скалярную величину (количество постов), и их тексты.
Так что определитесь - хотите получить просто количество постов и комментариев в категории (в этом случае в таблицу humor_meta мы и не будем обращаться) - это делается через двойную группировку или же тексты постов тоже нужны в результате?
И приведите пожалуйста структуру таблиц и тестовые данные в sql-форме (как здесь).
Неактивен
Мне необходимо вывести посты с названиями, кол-вом постов, категорией и одной записью из таблицы humor (так как таблица humor_meta имеет связь с таблицей humor один ко многим) и еще кол-во комментариев к постам.
Я переименовал таблицы для понятности, вот как они сейчас есть в базе
Отредактированно Марк (09.10.2013 22:40:41)
Неактивен
Правильно ли я понимаю, что посты это `humor_meta`?
Для каждого поста вы хотите вывести кол-во комментариев, категорию, кол-во постов в этой категории и какую-то (произвольную) запись из `humor`?
Неактивен
vasya написал:
Правильно ли я понимаю, что посты это `humor_meta`?
Для каждого поста вы хотите вывести кол-во комментариев, категорию, кол-во постов в этой категории и какую-то (произвольную) запись из `humor`?
Не совсем так, пример:
humor_meta
--------------------------------------
id title type
23 название 6
humor
--------------------------------------
gid id image
1 23 img1.jpg
2 23 img2.jpg
3 23 img3.jpg
type
--------------------------------------
id title
6 Картинки
comment
--------------------------------------
id post text
1 23 комментарий
2 23 комментарий2
А вывести вот так:
id title image type imageCount commentCount
1 название img1.jpg 6 3 2
Не знаю почему сразу так не показал, запутал наверное вас...
Неактивен
Неактивен
vasya написал:
select p.id, p.title, p.`type_int`, (select count(*) from `humor` i where p.id=i.id) as imageCount,
(select count(*) from `comment` c where p.id=c.post) as postCount from `humor_meta` p;
Спасибо большое, сделал немножко по другому, потому как необходимо вывести первое изображение из humor
Неактивен