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




MySQL.RU - Webboard



Вернуться
помогите с запрсом, пожалуйста! (Дмитрий) 07/12/2011 - 11:26:30
      Re: Вот структура таблиц... (Дмитрий) 07/12/2011 - 11:31:47
      Re: Вот структура таблиц... (Дмитрий) 07/12/2011 - 12:21:51
      Re: Вот структура таблиц... (Akina) 07/12/2011 - 15:48:06
      Re: Вот структура таблиц... (Дмитрий) 08/12/2011 - 08:30:03

> Original message text:
> From: Дмитрий - 07/12/2011 - 11:26:30
> Subject:помогите с запрсом, пожалуйста!
> -----------------
> Есть вот такой запрос:
>
> SELECT
> a.id,
> a .title,
> a.created,
> c.logo,
> c.tor_name,
> t.name,
> (SELECT COUNT( DISTINCT town ) FROM jos_catalog_offices WHERE com_id = a.com_id ) AS count
> FROM
> jos_catalog_ads a
> LEFT JOIN
> jos_catalog_company c ON c.id=a.com_id
> RIGHT JOIN
> jos_catalog_offices o USING ( com_id )
> LEFT JOIN
> jos_catalog_city t ON t.id_city=o.town
> WHERE
> a.id IS NOT NULL AND
> a.created BETWEEN STR_TO_DATE('2011-11-01 00:00:00', '%Y-%m-%d %H:%i:%s')
> AND STR_TO_DATE('2011-11-20 00:00:00', '%Y-%m-%d %H:%i:%s')
> GROUP BY a.id
> ORDER BY a.created DESC, a.title
>
> В нём пытаюсь сделать выборку по дате и не работает. Путём нехитрых манипуляций выяснилось что дело всё в RIGHT JOIN. Избавился от него, постаив вначале jos_catalog_offices, т.к. их больше чем компаний (jos_catalog_company) :
>
> SELECT
> a.id,
> a .title,
> a.created,
> c.logo,
> c.tor_name,
> t.name,
> (SELECT COUNT( DISTINCT town ) FROM jos_catalog_offices WHERE com_id = a.com_id ) AS count
> FROM
> jos_catalog_ads a
> LEFT JOIN
> jos_catalog_company c ON c.id=a.com_id
> RIGHT JOIN
> jos_catalog_offices o USING ( com_id )
> LEFT JOIN
> jos_catalog_city t ON t.id_city=o.town
> WHERE
> a.id IS NOT NULL AND
> a.created BETWEEN STR_TO_DATE('2011-11-01 00:00:00', '%Y-%m-%d %H:%i:%s')
> AND STR_TO_DATE('2011-11-20 00:00:00', '%Y-%m-%d %H:%i:%s')
> GROUP BY a.id
> ORDER BY a.created DESC, a.title
>
> Всё равно не работает. Поле created --> DATETIME, такое же поле есть и в jos_catalog_company.
> Без джойнов всё работает...
> Следом вышлю структуру таблиц.
>
>


From: Дмитрий - 08/12/2011 - 08:30:03
Subject:Вот структура таблиц...
-----------------
Нет, там же Right Join стоит. Ну да не важно.
Скобки я делать пробовал, не помогло.
А BETWEEN мне не подходит, т.к. не всегда пользователь будет указывать вторую дату. Можно конечно её автоматом подставлять, но не хочу запутывать логику.
В итоге пришлось условия даты ставить во вложенном SELECTe для jos_catalog_ads.



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

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

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



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