Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > Помощь в составлении запроса


Автор: serezhka1986 13.1.2012, 10:35
Добрый день! Обращаюсь к знатокам MySQL. Помогите составить запрос. У меня опыт в этом деле маленький, а данные в таблицах уж очень "понятно" хранятся. Немного разбирался и составил такую схемку:
http://s2.ipicture.ru/Gallery/Viewfull/7924935.html
Прикладываю sql-файл с данными.
Теперь сама задача:
Необходимо выбрать одну запись b_iblock_element.ID где IBLOCK_ID=16 (тоесть это должен быть ID недели) в которой есть хотя бы один документ  IBLOCK_ID=14 и все это дело надо сортировать по b_iblock_element_property.VALUE окончания периода DATE_TO в порядке убывания. Другими словами это должен быть ID последней недели в которой есть хотя бы один документ. Согласно тех данных, которые имеются в sql-файле, результат должен быть равен 336.
Буду признателен за помощь! Структура таблиц с CMS Битрикс.

Автор: serezhka1986 13.1.2012, 15:41
Вот сложил вот такой вот запросик, который выводит количество документов и 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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)