Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
SQL две таблицы POST & Comments + JOIN (mansoff) 08/05/2010 - 00:44:38
      Re: SQL две таблицы POST & Comments + JOIN (m1) 11/05/2010 - 12:14:17
      Re: SQL две таблицы POST & Comments + JOIN (m1) 11/05/2010 - 12:16:06

> Original message text:
> From: mansoff - 08/05/2010 - 00:44:38
> Subject:SQL две таблицы POST & Comments + JOIN
> -----------------
> Гуру SQL нужен хэлп
>
> Есть 2 таблицы,
> посты (статья запись кому как угодно) у которой есть ID содержания и флаг видимости on_off= '1\0'
>
> вторая - комментарии с полями ID, содержание, флаг видимости, и obj_id айди поста,
> связь между ними через ID = obj_id
> нужно вывести все видимые посты + рядом добавить количество видимых комментариев
>
> у меня было что-то вроде
> SELECT b.id, b.b_title, b.b_date, b.b_introduction, b.b_author, b.b_time,
> COUNT(vk_blog_comment.obj_id) AS comments
> FROM vk_blog b left JOIN vk_blog_comment
> ON b.id = vk_blog_comment.obj_id
> WHERE b.on_off='1' GROUP BY b.id LIMIT 0, 5
> минус в том что считает все комментарии, и видимые и не видимые,
>
> предвидя некоторые советы
> WHERE b.on_off='1' AND vk_blog_comment.on_off='1' - ошибочное решение, тогда не выводятся посты без комментариев
>
> в общем ломаю голову не могу понять что и как сделать
> БД - MySql
>


From: m1 - 11/05/2010 - 12:14:17
Subject:SQL две таблицы POST & Comments + JOIN
-----------------
Достаточно исправить джоин и результат вот такой

SELECT b.id, b.b_title, b.b_date, b.b_introduction, b.b_author, b.b_time, COUNT(vk_blog_comment.obj_id) AS comments
FROM vk_blog b
LEFT JOIN vk_blog_comment c ON b.id = c.obj_id AND c.on_off = 1
WHERE b.on_off = '1'
GROUP BY b.id
LIMIT 0, 5;


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
37111



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |