1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Запрос

Тема в разделе "Базы данных и администрирование", создана пользователем Renat11111, 25 апр 2009.

  1. Renat11111

    Renat11111 Well-Known Member

    Репутация:
    0
    Регистрация:
    20 апр 2008
    Сообщения:
    123
    Симпатии:
    0
    Просматриваю записи за мес. Получая записи по тем дням когда были движения в регистре Товары на складах. Или же когда происходило изменение цен в рег Цены номенклатуры.
    А хотелось бы увидеть все даты указанные в период с НачМес по КонМес. Наверно обсуждалась поожая тема не нашел.... )))



    ВЫБРАТЬ
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.Период,
    ВложенныйЗапрос.КоличествоКонечныйОстаток,
    ВложенныйЗапрос.МаксПериод,
    ВложенныйЗапрос.СерияНоменклатуры,
    Цены.Цена
    ИЗ
    (ВЫБРАТЬ
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.Период КАК Период,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
    ТоварыНаСкладахОстаткиИОбороты.СерияНоменклатуры КАК СерияНоменклатуры,
    МАКСИМУМ(ЦеныНоменклатуры.Период) КАК МаксПериод
    ИЗ
    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(
    &НачМес,
    &КонМес,
    День,
    Движения,
    Номенклатура В (&ВыбрНоменклатура)
    И СерияНоменклатуры В (&ВыбрСерия)) КАК ТоварыНаСкладахОстаткиИОбороты
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ПО ТоварыНаСкладахОстаткиИОбороты.Период >= ЦеныНоменклатуры.Период
    И ТоварыНаСкладахОстаткиИОбороты.Номенклатура = ЦеныНоменклатуры.Номенклатура
    И ТоварыНаСкладахОстаткиИОбороты.СерияНоменклатуры = ЦеныНоменклатуры.СерияНоменклатуры
    СГРУППИРОВАТЬ ПО
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.Период,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,
    ТоварыНаСкладахОстаткиИОбороты.СерияНоменклатуры) Как ВложенныйЗапрос
    Левое соединение РегистрСведений.ЦеныНоменклатуры КАК Цены
    ПО ВложенныйЗапрос.МаксПериод = Цены.Период
    И ВложенныйЗапрос.Номенклатура = Цены.Номенклатура
    И ВложенныйЗапрос.СерияНоменклатуры = Цены.СерияНоменклатуры
     
  2. tanat

    tanat Well-Known Member

    Репутация:
    0
    Регистрация:
    2 мар 2007
    Сообщения:
    265
    Симпатии:
    0
    Вам нужно добавить сюда еще одну таблицу, состоящую из одной колонки, где будет содержаться переменная вида : Дата+24*60*60 до КонМес (Дата + количество Часов*количество минут* количество секунд). И в зависимости от ее расположения использовать левое или правое внешнее соединение.
     
  3. Renat11111

    Renat11111 Well-Known Member

    Репутация:
    0
    Регистрация:
    20 апр 2008
    Сообщения:
    123
    Симпатии:
    0
    Так сложно понять уж лучше на моем примере плих покажите
     
  4. unknown181538

    unknown181538 НеГуру

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.417
    Симпатии:
    0
    Я вот так и не придумал, как ее сформиравоать)
     
  5. Renat11111

    Renat11111 Well-Known Member

    Репутация:
    0
    Регистрация:
    20 апр 2008
    Сообщения:
    123
    Симпатии:
    0

    Ну что мистер tanat показать на моем примере не получится? Ну придумал хорошо, вот токо не пойму фантазия ли это или же так действиельно можно )))
     
  6. tanat

    tanat Well-Known Member

    Репутация:
    0
    Регистрация:
    2 мар 2007
    Сообщения:
    265
    Симпатии:
    0
    Зависит от того, где вы хотите получить результат данного запроса. В консоли запросов - проблемматично, в модуле - решабельно.
     
  7. tanat

    tanat Well-Known Member

    Репутация:
    0
    Регистрация:
    2 мар 2007
    Сообщения:
    265
    Симпатии:
    0
    Хотя нет, проблем нет ни там ни там. Подскажу направление в котором искать: смотрите ИТОГИ по полю с типом "ДАТА". В синтаксис-помашнике найдите "Дополнение Дат"
     
  8. Renat11111

    Renat11111 Well-Known Member

    Репутация:
    0
    Регистрация:
    20 апр 2008
    Сообщения:
    123
    Симпатии:
    0
    Итоги По НЕ ПРИМЕНЯЮТСЯ ВО ВЛОЖЕННОМ ЗАПРОСЕ! А ПО ДРУГОМУ СМЫСЛА НЕТ ИХ ИСПОЛЬЗОВАТЬ ДЛЯ ДАННОЙ ЦЕЛИ.
     
  9. tanat

    tanat Well-Known Member

    Репутация:
    0
    Регистрация:
    2 мар 2007
    Сообщения:
    265
    Симпатии:
    0
    В качестве поля во вложенном запросе укажите период и при выделении этого поля в конструкторе запросов (не во вложенном запросе, а на "верхнем" уровне) появятся необходимые поля настройки для работы с "ПЕРИОДАМИ".

    П.С: Я же вас не заставляю идти этим путем. Я только предложил путь решения.
     
Загрузка...

Поделиться этой страницей