Запрос. Выбрать только общие значение для всех строк
Всем привет!
Есть таблица регистра сведений в таком виде:
Параметр | Значение параметра
Параметр1 | Значение1
Параметр1 | Значение2
Параметр2 | Значение2
Параметр3 | Значение2
Параметр3 | Значение3
Нужно запросом получить значения параметров, общие для всех параметров. Чтобы вернулась таблица в таком виде (Значение 2 общее для всех строк):
Параметр1 | Значение2
Параметр2 | Значение2
Параметр3 | Значение2
Подскажите, как это лучше сделать?
Есть таблица регистра сведений в таком виде:
Параметр | Значение параметра
Параметр1 | Значение1
Параметр1 | Значение2
Параметр2 | Значение2
Параметр3 | Значение2
Параметр3 | Значение3
Нужно запросом получить значения параметров, общие для всех параметров. Чтобы вернулась таблица в таком виде (Значение 2 общее для всех строк):
Параметр1 | Значение2
Параметр2 | Значение2
Параметр3 | Значение2
Подскажите, как это лучше сделать?
По теме из базы знаний
- Лучшие методы сравнения таблиц значений
- Проверка на наличие дублирующихся строк в табличных частях
- Комплексный контроль остатков. Для одного или сразу нескольких логически связанных регистров накопления. Универсальное решение уровня данных для контроля не только складских остатков
- Строковые отборы в 1С
- Как читать чужой код? Часть 1. Общие вопросы. Доработка чужого кода. Code review
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(1)Например, так
ВЫБРАТЬ
"Параметр1" КАК Параметр,
"Значение1" КАК Значение
ПОМЕСТИТЬ ВТ_ПараметрыЗначения
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр1",
"Значение3"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр1",
"Значение4"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр1",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр2",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр2",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение3"
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
КОЛИЧЕСТВО(Различные ВТ_ПараметрыЗначения.Параметр) КАК Количество,
ВТ_ПараметрыЗначения.Значение КАК Значение
ПОМЕСТИТЬ ВТ_КоличествоЗначений
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
СГРУППИРОВАТЬ ПО
ВТ_ПараметрыЗначения.Значение
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
КОЛИЧЕСТВО(Различные ВТ_ПараметрыЗначения.Параметр) КАК КоличествоПараметров
ПОМЕСТИТЬ ВТ_КоличествоПараметров
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_ПараметрыЗначения.Параметр КАК Параметр,
ВТ_ПараметрыЗначения.Значение КАК Значение
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_КоличествоЗначений КАК ВТ_КоличествоЗначений
ПО ВТ_ПараметрыЗначения.Значение = ВТ_КоличествоЗначений.Значение
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_КоличествоПараметров КАК ВТ_КоличествоПараметров
ПО ВТ_КоличествоЗначений.Количество = ВТ_КоличествоПараметров.КоличествоПараметров
СГРУППИРОВАТЬ ПО
ВТ_ПараметрыЗначения.Параметр,
ВТ_ПараметрыЗначения.Значение
ПоказатьВЫБРАТЬ
"Параметр1" КАК Параметр,
"Значение1" КАК Значение
ПОМЕСТИТЬ ВТ_ПараметрыЗначения
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр1",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр1",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр1",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр2",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр2",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение3"
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
КОЛИЧЕСТВО(*) КАК Количество,
ВТ_ПараметрыЗначения.Значение КАК Значение
ПОМЕСТИТЬ ВТ_Срез
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
СГРУППИРОВАТЬ ПО
ВТ_ПараметрыЗначения.Значение
ИМЕЮЩИЕ
КОЛИЧЕСТВО(*) > 1
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_ПараметрыЗначения.Параметр КАК Параметр,
ВТ_ПараметрыЗначения.Значение КАК Значение
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Срез КАК ВТ_Срез
ПО ВТ_ПараметрыЗначения.Значение = ВТ_Срез.Значение
СГРУППИРОВАТЬ ПО
ВТ_ПараметрыЗначения.Параметр,
ВТ_ПараметрыЗначения.Значение
Показать
(3) Не совсем понимаю, что мне это даст. В результате я получу значения, которые встречаются более одного раза в таблице, а нужно получить значение, которые есть у каждого параметра. Тогда нужно ставить условия не
а
но количество параметров выбирается из самой таблицы и неизвестно заранее.
ИМЕЮЩИЕ
КОЛИЧЕСТВО(*) > 1
а
ИМЕЮЩИЕ
КОЛИЧЕСТВО(*) = &КоличествоПараметров
но количество параметров выбирается из самой таблицы и неизвестно заранее.
Попробуйте так:
ВЫБРАТЬ
"Параметр1" КАК Параметр,
"Значение1" КАК Значение
ПОМЕСТИТЬ ВТ_ПараметрыЗначения
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр1",
"Значение4"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр1",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр1",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр1",
"Значение3"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр2",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение3"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр2",
"Значение3"
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_ПараметрыЗначения.Параметр КАК Параметр,
ВложенныйЗапрос.Параметр КАК КоличествоПараметров
ПОМЕСТИТЬ ВТ_КоличествоПараметров
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения,
(ВЫБРАТЬ
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВТ_ПараметрыЗначения.Параметр) КАК Параметр
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения) КАК ВложенныйЗапрос
СГРУППИРОВАТЬ ПО
ВТ_ПараметрыЗначения.Параметр,
ВложенныйЗапрос.Параметр
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_ПараметрыЗначения.Значение КАК Значение,
ВложенныйЗапрос.КоличествоЗначений КАК КоличествоЗначений
ПОМЕСТИТЬ ВТ_КоличествоЗначений
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ВТ_ПараметрыЗначения.Значение КАК Значение,
КОЛИЧЕСТВО(ВТ_ПараметрыЗначения.Значение) КАК КоличествоЗначений
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
СГРУППИРОВАТЬ ПО
ВТ_ПараметрыЗначения.Значение) КАК ВложенныйЗапрос
ПО ВТ_ПараметрыЗначения.Значение = ВложенныйЗапрос.Значение
СГРУППИРОВАТЬ ПО
ВТ_ПараметрыЗначения.Значение,
ВложенныйЗапрос.КоличествоЗначений
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_КоличествоПараметров.Параметр КАК Параметр,
ВТ_КоличествоЗначений.Значение КАК Значение
ИЗ
ВТ_КоличествоПараметров КАК ВТ_КоличествоПараметров
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_КоличествоЗначений КАК ВТ_КоличествоЗначений
ПО (ВТ_КоличествоЗначений.КоличествоЗначений >= ВТ_КоличествоПараметров.КоличествоПараметров)
ГДЕ
НЕ ВТ_КоличествоЗначений.КоличествоЗначений ЕСТЬ NULL
УПОРЯДОЧИТЬ ПО
Значение,
Параметр
Показать
ВЫБРАТЬ
"Параметр1" КАК Параметр,
"Значение1" КАК Значение
ПОМЕСТИТЬ ВТ_ПараметрыЗначения
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр1",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр2",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение3"
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВТ_ПараметрыЗначения.Параметр) КАК ПараметрКоличество
ПОМЕСТИТЬ ВТ_КоличествоПараметров
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВТ_ПараметрыЗначения.Параметр) КАК ПараметрКоличество,
ВТ_ПараметрыЗначения.Значение
ПОМЕСТИТЬ ВТ_КоличествоПараметровУЗначений
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
СГРУППИРОВАТЬ ПО
ВТ_ПараметрыЗначения.Значение
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_КоличествоПараметровУЗначений.Значение
ПОМЕСТИТЬ ВТ_ОтобранныеЗначения
ИЗ
ВТ_КоличествоПараметровУЗначений КАК ВТ_КоличествоПараметровУЗначений
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_КоличествоПараметров КАК ВТ_КоличествоПараметров
ПО ВТ_КоличествоПараметровУЗначений.ПараметрКоличество = ВТ_КоличествоПараметров.ПараметрКоличество
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_ПараметрыЗначения.Параметр,
ВТ_ПараметрыЗначения.Значение
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_ОтобранныеЗначения КАК ВТ_ОтобранныеЗначения
ПО ВТ_ПараметрыЗначения.Значение = ВТ_ОтобранныеЗначения.Значение
Показать
(5),
(6),
(7),
(8), Всем спасибо! Сделал следующим образом
(6),
(7),
(8), Всем спасибо! Сделал следующим образом
ВЫБРАТЬ
"Параметр1" КАК Параметр,
"Значение1" КАК Значение
ПОМЕСТИТЬ ВТ_ПараметрыЗначения
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр1",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр2",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение3"
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
КОЛИЧЕСТВО(*) КАК Количество
ПОМЕСТИТЬ ВТ_КоличествоПараметров
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
ВТ_ПараметрыЗначения.Значение КАК Значение,
КОЛИЧЕСТВО(ВТ_ПараметрыЗначения.Параметр) КАК КоличествоПараметров
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
СГРУППИРОВАТЬ ПО
ВТ_ПараметрыЗначения.Значение
ИМЕЮЩИЕ
КОЛИЧЕСТВО(ВТ_ПараметрыЗначения.Параметр) В
(ВЫБРАТЬ
ВТ_КоличествоПараметров.Количество
ИЗ
ВТ_КоличествоПараметров)
Показать
(9)
Этот запрос не возвращает ничего. Он даже юнит-тест описанный вами в начальном сообщении не проходит.
ВЫБРАТЬ
"Параметр1" КАК Параметр,
"Значение1" КАК Значение
ПОМЕСТИТЬ ВТ_ПараметрыЗначения
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр1",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр2",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение3"
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
КОЛИЧЕСТВО(*) КАК Количество
ПОМЕСТИТЬ ВТ_КоличествоПараметров
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
ВТ_ПараметрыЗначения.Значение КАК Значение,
КОЛИЧЕСТВО(ВТ_ПараметрыЗначения.Параметр) КАК КоличествоПараметров
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
СГРУППИРОВАТЬ ПО
ВТ_ПараметрыЗначения.Значение
ИМЕЮЩИЕ
КОЛИЧЕСТВО(ВТ_ПараметрыЗначения.Параметр) В
(ВЫБРАТЬ
ВТ_КоличествоПараметров.Количество
ИЗ
ВТ_КоличествоПараметров)
Показать"Параметр1" КАК Параметр,
"Значение1" КАК Значение
ПОМЕСТИТЬ ВТ_ПараметрыЗначения
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр1",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр2",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение3"
;
////////////////////////////////////////////////////////////
ВЫБРАТЬ
КОЛИЧЕСТВО(*) КАК Количество
ПОМЕСТИТЬ ВТ_КоличествоПараметров
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
;
////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
ВТ_ПараметрыЗначения.Значение КАК Значение,
КОЛИЧЕСТВО(ВТ_ПараметрыЗначения.Параметр) КАК КоличествоПараметров
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
СГРУППИРОВАТЬ ПО
ВТ_ПараметрыЗначения.Значение
ИМЕЮЩИЕ
КОЛИЧЕСТВО(ВТ_ПараметрыЗначения.Параметр) В
(ВЫБРАТЬ
ВТ_КоличествоПараметров.Количество
ИЗ
ВТ_КоличествоПараметров)
Этот запрос не возвращает ничего. Он даже юнит-тест описанный вами в начальном сообщении не проходит.
(10) Да, извиняюсь, во втором запросе, где создается таблица ВТ_КоличествоПараметров другой немного текст запроса. Спасибо, что заметили:
ВЫБРАТЬ
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Параметр) КАК Количество
ПОМЕСТИТЬ ВТ_КоличествоПараметров
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
;
(11)
Если поменять так как вы говорите, то результат будет - 1 строка:
Значение КоличествоПараметров
-------------- -----------------------------------
Значение2 3
И снова ваш же юнит-тест не выполняется.
ВЫБРАТЬ
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Параметр) КАК Количество
ПОМЕСТИТЬ ВТ_КоличествоПараметров
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
;
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Параметр) КАК Количество
ПОМЕСТИТЬ ВТ_КоличествоПараметров
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
;
Если поменять так как вы говорите, то результат будет - 1 строка:
Значение КоличествоПараметров
-------------- -----------------------------------
Значение2 3
И снова ваш же юнит-тест не выполняется.
(13) Ваш подход не работает:
- добавляем еще несколько значений и в результате появляется 2 строки
- добавляем еще несколько значений и в результате появляется 2 строки
ВЫБРАТЬ
"Параметр1" КАК Параметр,
"Значение1" КАК Значение
ПОМЕСТИТЬ ВТ_ПараметрыЗначения
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр1",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр2",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение3"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение1"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение1"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр2",
"Значение3"
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВТ_ПараметрыЗначения.Параметр) КАК Количество
ПОМЕСТИТЬ ВТ_КоличествоПараметров
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
ВТ_ПараметрыЗначения.Значение КАК Значение,
КОЛИЧЕСТВО(ВТ_ПараметрыЗначения.Параметр) КАК КоличествоПараметров
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
СГРУППИРОВАТЬ ПО
ВТ_ПараметрыЗначения.Значение
ИМЕЮЩИЕ
КОЛИЧЕСТВО(ВТ_ПараметрыЗначения.Параметр) В
(ВЫБРАТЬ
ВТ_КоличествоПараметров.Количество
ИЗ
ВТ_КоличествоПараметров)
Показать
(14) Я вам отвечаю снова: у меня нет цели сейчас доводить этот запрос до идеала. Да и смысла в этом я не вижу, т.к. мне нужен был только сам подход, описанный в (7) двумя строчками.
(14)
Ситуация, о которой вы говорите, опять же, легко исправляется добавлением ключа "Различные" для исключения дублирующихся строк
(14)
добавляем еще несколько значений и в результате появляется 2 строки
Ситуация, о которой вы говорите, опять же, легко исправляется добавлением ключа "Различные" для исключения дублирующихся строк
(15)
Вот так на всех вариантах проверки работает, и на исходном:
А это если еще одно общее значение появляется, например Значение1.
Вот так на всех вариантах проверки работает, и на исходном:
ВЫБРАТЬ
"Параметр1" КАК Параметр,
"Значение1" КАК Значение
ПОМЕСТИТЬ ВТ_ПараметрыЗначения
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр1",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр2",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение3"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение1"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение1"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр2",
"Значение3"
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
ВТ_ПараметрыЗначения.Параметр КАК Параметр,
ВТ_ПараметрыЗначения.Значение КАК Значение
ПОМЕСТИТЬ ВТ_ПараметрыЗначенияРазличные
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_ПараметрыЗначенияРазличные.Значение КАК Значение,
КОЛИЧЕСТВО(*) КАК Количество
ПОМЕСТИТЬ ВТ_ПараметрыЗначенияРазличныеСгрупированные
ИЗ
ВТ_ПараметрыЗначенияРазличные КАК ВТ_ПараметрыЗначенияРазличные
СГРУППИРОВАТЬ ПО
ВТ_ПараметрыЗначенияРазличные.Значение
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
ВТ_ПараметрыЗначения.Параметр КАК Параметр
ПОМЕСТИТЬ ВТ_Параметры
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
ВТ_ПараметрыЗначения.Значение КАК Значение
ПОМЕСТИТЬ ВТ_Значения
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_Параметры.Параметр КАК Параметр,
ВТ_Значения.Значение КАК Значение
ПОМЕСТИТЬ ВТ_Эталон
ИЗ
ВТ_Параметры КАК ВТ_Параметры
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Значения КАК ВТ_Значения
ПО (ИСТИНА)
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_Эталон.Значение КАК Значение,
КОЛИЧЕСТВО(*) КАК Количество
ПОМЕСТИТЬ ВТ_ЭталонСгруппированный
ИЗ
ВТ_Эталон КАК ВТ_Эталон
СГРУППИРОВАТЬ ПО
ВТ_Эталон.Значение
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_ПараметрыЗначенияРазличныеСгрупированные.Значение КАК Значение
ПОМЕСТИТЬ ВТ_Найденные
ИЗ
ВТ_ПараметрыЗначенияРазличныеСгрупированные КАК ВТ_ПараметрыЗначенияРазличныеСгрупированные
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_ЭталонСгруппированный КАК ВТ_ЭталонСгруппированный
ПО (ВТ_ЭталонСгруппированный.Значение = ВТ_ПараметрыЗначенияРазличныеСгрупированные.Значение)
И (ВТ_ЭталонСгруппированный.Количество = ВТ_ПараметрыЗначенияРазличныеСгрупированные.Количество)
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
ВТ_ПараметрыЗначения.Параметр КАК Параметр,
ВТ_ПараметрыЗначения.Значение КАК Значение
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Найденные КАК ВТ_Найденные
ПО ВТ_ПараметрыЗначения.Значение = ВТ_Найденные.Значение
УПОРЯДОЧИТЬ ПО
Параметр,
Значение
ПоказатьА это если еще одно общее значение появляется, например Значение1.
ВЫБРАТЬ
"Параметр1" КАК Параметр,
"Значение1" КАК Значение
ПОМЕСТИТЬ ВТ_ПараметрыЗначения
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр1",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр2",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение3"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение1"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр3",
"Значение1"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр2",
"Значение3"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Параметр2",
"Значение1"
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
ВТ_ПараметрыЗначения.Параметр КАК Параметр,
ВТ_ПараметрыЗначения.Значение КАК Значение
ПОМЕСТИТЬ ВТ_ПараметрыЗначенияРазличные
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_ПараметрыЗначенияРазличные.Значение КАК Значение,
КОЛИЧЕСТВО(*) КАК Количество
ПОМЕСТИТЬ ВТ_ПараметрыЗначенияРазличныеСгрупированные
ИЗ
ВТ_ПараметрыЗначенияРазличные КАК ВТ_ПараметрыЗначенияРазличные
СГРУППИРОВАТЬ ПО
ВТ_ПараметрыЗначенияРазличные.Значение
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
ВТ_ПараметрыЗначения.Параметр КАК Параметр
ПОМЕСТИТЬ ВТ_Параметры
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
ВТ_ПараметрыЗначения.Значение КАК Значение
ПОМЕСТИТЬ ВТ_Значения
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_Параметры.Параметр КАК Параметр,
ВТ_Значения.Значение КАК Значение
ПОМЕСТИТЬ ВТ_Эталон
ИЗ
ВТ_Параметры КАК ВТ_Параметры
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Значения КАК ВТ_Значения
ПО (ИСТИНА)
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_Эталон.Значение КАК Значение,
КОЛИЧЕСТВО(*) КАК Количество
ПОМЕСТИТЬ ВТ_ЭталонСгруппированный
ИЗ
ВТ_Эталон КАК ВТ_Эталон
СГРУППИРОВАТЬ ПО
ВТ_Эталон.Значение
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_ПараметрыЗначенияРазличныеСгрупированные.Значение КАК Значение
ПОМЕСТИТЬ ВТ_Найденные
ИЗ
ВТ_ПараметрыЗначенияРазличныеСгрупированные КАК ВТ_ПараметрыЗначенияРазличныеСгрупированные
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_ЭталонСгруппированный КАК ВТ_ЭталонСгруппированный
ПО (ВТ_ЭталонСгруппированный.Значение = ВТ_ПараметрыЗначенияРазличныеСгрупированные.Значение)
И (ВТ_ЭталонСгруппированный.Количество = ВТ_ПараметрыЗначенияРазличныеСгрупированные.Количество)
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
ВТ_ПараметрыЗначения.Параметр КАК Параметр,
ВТ_ПараметрыЗначения.Значение КАК Значение
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Найденные КАК ВТ_Найденные
ПО ВТ_ПараметрыЗначения.Значение = ВТ_Найденные.Значение
УПОРЯДОЧИТЬ ПО
Параметр,
Значение
Показать
Вакансии
Разработчик 1С (от middle до senior), до 300 К gross
Санкт-Петербург
зарплата от 195 000 руб. до 300 000 руб.
Полный день
Санкт-Петербург
зарплата от 195 000 руб. до 300 000 руб.
Полный день