Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
05 июл 2022, 08:51

Задачи IT Решение Консоль изучания языка запросов

Автор stake1995, 11 окт 2017, 13:46

0 Пользователей и 1 гость просматривают эту тему.

stake1995

Решаю задачки по 1с. Как сделать так чтобы условие (i,j), но не (j,i) работало?
Вот код с помощью которого получаю данные
ВЫБРАТЬ
Модель,
ОбъемПамяти,
ЧастотаПроцессора
ПОМЕСТИТЬ ВТМодель
ИЗ
Справочник.Компьютеры
;
ВЫБРАТЬ
Модель,
ОбъемПамяти,
ЧастотаПроцессора
ПОМЕСТИТЬ ВТМодель1
ИЗ
Справочник.Компьютеры
;
ВЫБРАТЬ
М.Модель,
М1.Модель,
М.ОбъемПамяти,
М.ЧастотаПроцессора
ИЗ
ВТМодель КАК М СОЕДИНЕНИЕ ВТМодель1 КАК М1 ПО М.ЧастотаПроцессора=М1.ЧастотаПроцессора
ГДЕ
М.Модель<>М1.Модель И М.ЧастотаПроцессора = М1.ЧастотаПроцессора И М.ОбъемПамяти = М1.ОбъемПамяти

Kironten

Ну грубо говоря отрихтовать последнюю таблицу и все. Это если конечно упрощенно тип модели - число, нет групп и т.д. и т.п.

...
ВЫБРАТЬ
М.Модель КАК Модель1,
М1.Модель КАК Модель2,
М.ОбъемПамяти,
М.ЧастотаПроцессора
ПОМЕСТИТЬ ВТНеотсортированная
ИЗ
ВТМодель КАК М СОЕДИНЕНИЕ ВТМодель1 КАК М1 ПО М.ЧастотаПроцессора=М1.ЧастотаПроцессора
ГДЕ
М.Модель<>М1.Модель И М.ЧастотаПроцессора = М1.ЧастотаПроцессора И М.ОбъемПамяти = М1.ОбъемПамяти
;
ВЫБРАТЬ
ВТНеотсортированная.Модель1,
ВТНеотсортированная.Модель2,
ВТНеотсортированная.ОбъемПамяти,
ВТНеотсортированная.ЧастотаПроцессора,
ВЫБОР
    КОГДА ВТНеотсортированная.Модель1 >= ВТНеотсортированная.Модель2 ТОГДА
        ВТНеотсортированная.Модель1
    ИНАЧЕ
        ВТНеотсортированная.Модель2
КОНЕЦ КАК Модель1Отсортированная,
ВЫБОР
    КОГДА ВТНеотсортированная.Модель1 >= ВТНеотсортированная.Модель2 ТОГДА
        ВТНеотсортированная.Модель2
    ИНАЧЕ
        ВТНеотсортированная.Модель1
КОНЕЦ КАК Модель2Отсортированная
ПОМЕСТИТЬ ВТОтсортированная
ИЗ
ВТНеотсортированная КАК ВТНеотсортированная
;
ВЫБРАТЬ РАЗЛИЧНЫЕ
ВТОтсортированная.Модель1Отсортированная КАК Модель1,
ВТОтсортированная.Модель2Отсортированная КАК Модель2,
ВТОтсортированная.ОбъемПамяти,
ВТОтсортированная.ЧастотаПроцессора
ИЗ
ВТОтсортированная КАК ВТОтсортированная
УПОРЯДОЧИТЬ ПО
Модель1 УБЫВ,
Модель2 ВОЗР

stake1995

Цитата: Kironten от 11 окт 2017, 16:17
Ну грубо говоря отрихтовать последнюю таблицу и все. Это если конечно упрощенно тип модели - число, нет групп и т.д. и т.п.

...
ВЫБРАТЬ
М.Модель КАК Модель1,
М1.Модель КАК Модель2,
М.ОбъемПамяти,
М.ЧастотаПроцессора
ПОМЕСТИТЬ ВТНеотсортированная
ИЗ
ВТМодель КАК М СОЕДИНЕНИЕ ВТМодель1 КАК М1 ПО М.ЧастотаПроцессора=М1.ЧастотаПроцессора
ГДЕ
М.Модель<>М1.Модель И М.ЧастотаПроцессора = М1.ЧастотаПроцессора И М.ОбъемПамяти = М1.ОбъемПамяти
;
ВЫБРАТЬ
ВТНеотсортированная.Модель1,
ВТНеотсортированная.Модель2,
ВТНеотсортированная.ОбъемПамяти,
ВТНеотсортированная.ЧастотаПроцессора,
ВЫБОР
    КОГДА ВТНеотсортированная.Модель1 >= ВТНеотсортированная.Модель2 ТОГДА
        ВТНеотсортированная.Модель1
    ИНАЧЕ
        ВТНеотсортированная.Модель2
КОНЕЦ КАК Модель1Отсортированная,
ВЫБОР
    КОГДА ВТНеотсортированная.Модель1 >= ВТНеотсортированная.Модель2 ТОГДА
        ВТНеотсортированная.Модель2
    ИНАЧЕ
        ВТНеотсортированная.Модель1
КОНЕЦ КАК Модель2Отсортированная
ПОМЕСТИТЬ ВТОтсортированная
ИЗ
ВТНеотсортированная КАК ВТНеотсортированная
;
ВЫБРАТЬ РАЗЛИЧНЫЕ
ВТОтсортированная.Модель1Отсортированная КАК Модель1,
ВТОтсортированная.Модель2Отсортированная КАК Модель2,
ВТОтсортированная.ОбъемПамяти,
ВТОтсортированная.ЧастотаПроцессора
ИЗ
ВТОтсортированная КАК ВТОтсортированная
УПОРЯДОЧИТЬ ПО
Модель1 УБЫВ,
Модель2 ВОЗР

Спасибо большое, работает, только что то очень сложно)))

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск