Вход | Регистрация

1С:Предприятие ::

Метки: 

Нужна помощь в запросе - сравнить результат выборки со значением

Я
   kudlach
 
13.11.17 - 13:25
Помогите, пожалуйста, с запросом.

ВЫБРАТЬ
Таб1.Значение1,
Таб1.Значение2
ИЗ Таб1
ГДЕ Таб1.Значение3> (ВЫБРАТЬ МАКСИэМУМ(Таб2.Значение) ИЗ Таб2)

Как организовать последнюю строчку ?
 
 
   Широкий
 
1 - 13.11.17 - 13:31
В
   vicof
 
2 - 13.11.17 - 13:31
Параметр
   Ёпрст
 
3 - 13.11.17 - 13:31
(0)
ГДЕ Таб1.Значение3> (ВЫБРАТЬ МАКСИМУМ(Таб2.Значение) ИЗ Таб2)
   Mankubus
 
4 - 13.11.17 - 13:32
(0) ВЫБРАТЬ
    МАКСИМУМ(Таб2.Значение) КАК Значение
ПОМЕСТИТЬ Таб2Макс
ИЗ
    Таб2 КАК Таб2
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    Таб1.Значение1,
    Таб1.Значение2
ИЗ
    Таб1 КАК Таб1
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Таб2Макс КАК Таб2Макс
        ПО Таб1.Значение3 > Таб2Макс.Значение
   wondkind
 
5 - 13.11.17 - 13:34
(0) Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ МАКСИМУМ(Таб2.Значение) КАК Максимум ИЗ Таб2";
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
   МаксЗначение = Выборка.Максимум;
КонецЕсли;

Запрос.Текст = "ВЫБРАТЬ 
| Таб1.Значение1, 
| Таб1.Значение2 
| ИЗ Таб1 
| ГДЕ Таб1.Значение3> &МаксЗначение";
Запрос.УстановитьПараметр("МаксЗначение", МаксЗначение);

РезультирующаяТаблица = Запрос.Выполнить().Выгрузить();
   kudlach
 
6 - 13.11.17 - 13:37
(3) именно в таком варианте вылетает ошибка с нарушением синтексиса у (<<Ошибка>>ВЫБРАТЬ МАКСИМУМ)

(5) вааще не мой вариант

(4) думаю, рабочий вариант, но не в моем случае :(
СЕйчас подробнее напишу
   wondkind
 
7 - 13.11.17 - 13:40
(6) аж даже интересно, что за условие. И почему это мой вариант, в отличии от (4) был признан не рабочим?)
   kudlach
 
8 - 13.11.17 - 13:50
Это я меняю существующий переделанный отчет по взаиморасчетам с клиентами. Нужно получить сумму просроченной задолженности.
УТ 10.3. Все договоры - в разрезе Заказов.
    ТекстЗапроса = 
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ
...
    |        КОГДА ЗапросПоВзаиморасчетам.СуммаКонечныйДолг < 0
    |            ТОГДА 0
    |        ИНАЧЕ ЗапросПоВзаиморасчетам.СуммаКонечныйДолг
    |    КОНЕЦ КАК КонечныйДолг,
    |    ЗапросПоВзаиморасчетам.СуммаПросрочки
    |{ВЫБРАТЬ
...        
    |    СуммаКонечныйДолг}
    |    СуммаПросрочки}
    |ИЗ
    |    (ВЫБРАТЬ
...
    |        ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаУпрКонечныйОстаток КАК СуммаКонечныйДолг,
    |        0 КАК СуммаПросрочки
    |    ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор {(&Периодичность)}, , {(ДоговорКонтрагента.Организация).* КАК Организация, (ДоговорКонтрагента.Владелец).* КАК Контрагент, (ДоговорКонтрагента).* КАК ДоговорКонтрагента, (Сделка).* КАК ДокументСделка}) КАК ВзаиморасчетыСКонтрагентамиОстаткиИОбороты
    |    
    |    ОБЪЕДИНИТЬ ВСЕ
    |    
    |    ВЫБРАТЬ
...
    |        0,
    |        ,ВзаиморасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток     
    |    ИЗ
    |        РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&ДатаКон,) КАК ВзаиморасчетыСКонтрагентамиОстатки
    |    ГДЕ
//!!!  ВОТ ЗДЕСЬ НУЖНО ПРОВЕРЯТЬ !!!//

    |                ВЫБРАТЬ        
    |
    |                    МАКСИМУМ( РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(Реализация.Дата,ДЕНЬ),НАЧАЛОПЕРИОДА(&ТекДата,ДЕНЬ),ДЕНЬ))
    |                    ИЗ Документ.РеализацияТоваровУслуг КАК Реализация 
    |                    ГДЕ Реализация.Сделка=ВзаиморасчетыСКонтрагентамиОстатки.Сделка//&Сделка//

    |                        И Реализация.Проведен=ИСТИНА    
    |                > ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента.ДнейОтсрочкиДебиторки
    |{ГДЕ
    |    ЗапросПоВзаиморасчетам.СуммаКонечныйДолг КАК СуммаКонечныйДолг,
    |    ЗапросПоВзаиморасчетам.СуммаПросрочки КАК СуммаПросрочки}
    |{УПОРЯДОЧИТЬ ПО
...
    |    СуммаКонечныйДолг,
    |    СуммаПросрочки}
    |ИТОГИ
    |    СУММА(СуммаДолга),
    |    СУММА(СуммаПросрочки)
    |ПО
    |    ОБЩИЕ,
...
    |{ИТОГИ ПО
...
    |}";
   kudlach
 
9 - 13.11.17 - 14:15
На ИНфостарте дали рабочий вариант:


ВЫБРАТЬ
Т1.Значение1,
Т1.Значение2
ИЗ
(ВЫБРАТЬ 
МАКСИМУМ(Таб2.Значение) КАК Зн1 ИЗ Таб2) КАК Т2 
ЛЕВОЕ СОЕДИНЕНИЕ Таб1 КАК Т1 
ПО (Т1.Значение3 > Т2.Зн1)

Всем спасибо
   Ёпрст
 
10 - 13.11.17 - 14:27
(9) это тоже самое, что и (4)
 
 Рекламное место пустует
   kudlach
 
11 - 13.11.17 - 15:22
(10) Оспорю.
В этом варианте нет временной таблицы.
И мне он удобнее.
   Ёпрст
 
12 - 13.11.17 - 15:28
(11) гы.
ВЫБРАТЬ
    Таб1.Значение1,
    Таб1.Значение2
ИЗ
    Таб1 КАК Таб1
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
ВЫБРАТЬ
    МАКСИМУМ(Таб2.Значение) КАК Значение

ИЗ
    Таб2 КАК Таб2 )как Таб2Макс 


        ПО Таб1.Значение3 > Таб2Макс.Значение


Список тем форума
Рекламное место пустует Рекламное место пустует
Здесь во втором сообщении вам дадут решение, а в двадцатом дадут правильное решение. Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует