Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помощь в составлении запроса 
:(
    Опции темы
serezhka1986
Дата 13.1.2012, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 215
Регистрация: 12.6.2009

Репутация: нет
Всего: 0



Добрый день! Обращаюсь к знатокам MySQL. Помогите составить запрос. У меня опыт в этом деле маленький, а данные в таблицах уж очень "понятно" хранятся. Немного разбирался и составил такую схемку:
user posted image
Прикладываю sql-файл с данными.
Теперь сама задача:
Необходимо выбрать одну запись b_iblock_element.ID где IBLOCK_ID=16 (тоесть это должен быть ID недели) в которой есть хотя бы один документ  IBLOCK_ID=14 и все это дело надо сортировать по b_iblock_element_property.VALUE окончания периода DATE_TO в порядке убывания. Другими словами это должен быть ID последней недели в которой есть хотя бы один документ. Согласно тех данных, которые имеются в sql-файле, результат должен быть равен 336.
Буду признателен за помощь! Структура таблиц с CMS Битрикс.

Присоединённый файл ( Кол-во скачиваний: 0 )
Присоединённый файл  bitrixbase.sql 5,69 Kb
--------------------
Для некоторых лучший способ написать что-нибудь осмысленное - это сесть жопой на клавиатуру... 
PM   Вверх
serezhka1986
Дата 13.1.2012, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 215
Регистрация: 12.6.2009

Репутация: нет
Всего: 0



Вот сложил вот такой вот запросик, который выводит количество документов и ID недели, но проблема в том, что если в неделе нет документов, то результатом будет пустое значение, а нужна последння неделя в которой есть хоть одна запись.
Код

SELECT
      COUNT(element.ID) AS KILKIST,
      property.VALUE
FROM
      b_iblock_element AS element,
      b_iblock_element_property AS property
WHERE
      element.IBLOCK_ID = "14"
AND
      element.ID = property.IBLOCK_ELEMENT_ID
AND
      property.VALUE=(
      SELECT
            element2.ID AS WEEKS_ID
      FROM
          b_iblock_element AS element2,
          b_iblock_element_property AS property2
      WHERE 
            element2.IBLOCK_ID = "16"
      AND
            element2.ID = property2.IBLOCK_ELEMENT_ID
      AND
            property2.IBLOCK_PROPERTY_ID = "42"
      ORDER BY
            property2.VALUE DESC
      LIMIT 1
      )
GROUP BY 
      property.VALUE

--------------------
Для некоторых лучший способ написать что-нибудь осмысленное - это сесть жопой на клавиатуру... 
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0379 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.