Запрос. Выбрать только общие значение для всех строк

1. Drivingblind 222 24.07.21 11:39 Сейчас в теме
Всем привет!
Есть таблица регистра сведений в таком виде:

Параметр | Значение параметра
Параметр1 | Значение1
Параметр1 | Значение2
Параметр2 | Значение2
Параметр3 | Значение2
Параметр3 | Значение3

Нужно запросом получить значения параметров, общие для всех параметров. Чтобы вернулась таблица в таком виде (Значение 2 общее для всех строк):

Параметр1 | Значение2
Параметр2 | Значение2
Параметр3 | Значение2

Подскажите, как это лучше сделать?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
5. Sashares 34 24.07.21 13:34 Сейчас в теме +0.25 $m
(1)Например, так

ВЫБРАТЬ
    "Параметр1" КАК Параметр,
    "Значение1" КАК Значение
ПОМЕСТИТЬ ВТ_ПараметрыЗначения

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    "Параметр1",
    "Значение3"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    "Параметр1",
    "Значение4"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    "Параметр1",
    "Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    "Параметр2",
    "Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    "Параметр2",
    "Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    "Параметр3",
    "Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    "Параметр3",
    "Значение3"
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
    КОЛИЧЕСТВО(Различные ВТ_ПараметрыЗначения.Параметр) КАК Количество,
    ВТ_ПараметрыЗначения.Значение КАК Значение
ПОМЕСТИТЬ ВТ_КоличествоЗначений
ИЗ
    ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения

СГРУППИРОВАТЬ ПО
    ВТ_ПараметрыЗначения.Значение

;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
    КОЛИЧЕСТВО(Различные  ВТ_ПараметрыЗначения.Параметр) КАК КоличествоПараметров
ПОМЕСТИТЬ ВТ_КоличествоПараметров
ИЗ
    ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения

;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
    ВТ_ПараметрыЗначения.Параметр КАК Параметр,
    ВТ_ПараметрыЗначения.Значение КАК Значение
ИЗ
    ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_КоличествоЗначений КАК ВТ_КоличествоЗначений
        ПО ВТ_ПараметрыЗначения.Значение = ВТ_КоличествоЗначений.Значение
	        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_КоличествоПараметров КАК ВТ_КоличествоПараметров
	        ПО ВТ_КоличествоЗначений.Количество = ВТ_КоличествоПараметров.КоличествоПараметров

СГРУППИРОВАТЬ ПО
    ВТ_ПараметрыЗначения.Параметр,
    ВТ_ПараметрыЗначения.Значение
Показать
Drivingblind; +1 Ответить
2. Kolesonik 12 24.07.21 12:11 Сейчас в теме
Добавить поле с 1,выбрать все, свернуть по параметру, условие поле1>1
3. o.nikolaev 208 24.07.21 12:47 Сейчас в теме
ВЫБРАТЬ
	"Параметр1" КАК Параметр,
	"Значение1" КАК Значение
ПОМЕСТИТЬ ВТ_ПараметрыЗначения

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр1",
	"Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр1",
	"Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр1",
	"Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр2",
	"Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр2",
	"Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр3",
	"Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр3",
	"Значение3"
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	КОЛИЧЕСТВО(*) КАК Количество,
	ВТ_ПараметрыЗначения.Значение КАК Значение
ПОМЕСТИТЬ ВТ_Срез
ИЗ
	ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения

СГРУППИРОВАТЬ ПО
	ВТ_ПараметрыЗначения.Значение

ИМЕЮЩИЕ
	КОЛИЧЕСТВО(*) > 1
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_ПараметрыЗначения.Параметр КАК Параметр,
	ВТ_ПараметрыЗначения.Значение КАК Значение
ИЗ
	ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Срез КАК ВТ_Срез
		ПО ВТ_ПараметрыЗначения.Значение = ВТ_Срез.Значение

СГРУППИРОВАТЬ ПО
	ВТ_ПараметрыЗначения.Параметр,
	ВТ_ПараметрыЗначения.Значение
Показать
4. Drivingblind 222 24.07.21 13:14 Сейчас в теме
(3) Не совсем понимаю, что мне это даст. В результате я получу значения, которые встречаются более одного раза в таблице, а нужно получить значение, которые есть у каждого параметра. Тогда нужно ставить условия не
ИМЕЮЩИЕ
    КОЛИЧЕСТВО(*) > 1

а
ИМЕЮЩИЕ
    КОЛИЧЕСТВО(*) = &КоличествоПараметров

но количество параметров выбирается из самой таблицы и неизвестно заранее.
6. BiTwaR 9 24.07.21 16:57 Сейчас в теме +0.25 $m
Попробуйте так:

ВЫБРАТЬ
	"Параметр1" КАК Параметр,
	"Значение1" КАК Значение
ПОМЕСТИТЬ ВТ_ПараметрыЗначения

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр1",
	"Значение4"
ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр1",
	"Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр1",
	"Значение2"
ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр1",
	"Значение3"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр2",
	"Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр3",
	"Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр3",
	"Значение3"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр2",
	"Значение3"
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_ПараметрыЗначения.Параметр КАК Параметр,
	ВложенныйЗапрос.Параметр КАК КоличествоПараметров
ПОМЕСТИТЬ ВТ_КоличествоПараметров
ИЗ
	ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения,
	(ВЫБРАТЬ
		КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВТ_ПараметрыЗначения.Параметр) КАК Параметр
	ИЗ
		ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения) КАК ВложенныйЗапрос

СГРУППИРОВАТЬ ПО
	ВТ_ПараметрыЗначения.Параметр,
	ВложенныйЗапрос.Параметр
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_ПараметрыЗначения.Значение КАК Значение,
	ВложенныйЗапрос.КоличествоЗначений КАК КоличествоЗначений
ПОМЕСТИТЬ ВТ_КоличествоЗначений
ИЗ
	ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
			ВТ_ПараметрыЗначения.Значение КАК Значение,
			КОЛИЧЕСТВО(ВТ_ПараметрыЗначения.Значение) КАК КоличествоЗначений
		ИЗ
			ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
		
		СГРУППИРОВАТЬ ПО
			ВТ_ПараметрыЗначения.Значение) КАК ВложенныйЗапрос
		ПО ВТ_ПараметрыЗначения.Значение = ВложенныйЗапрос.Значение

СГРУППИРОВАТЬ ПО
	ВТ_ПараметрыЗначения.Значение,
	ВложенныйЗапрос.КоличествоЗначений
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_КоличествоПараметров.Параметр КАК Параметр,
	ВТ_КоличествоЗначений.Значение КАК Значение
ИЗ
	ВТ_КоличествоПараметров КАК ВТ_КоличествоПараметров
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_КоличествоЗначений КАК ВТ_КоличествоЗначений
		ПО (ВТ_КоличествоЗначений.КоличествоЗначений >= ВТ_КоличествоПараметров.КоличествоПараметров)
ГДЕ
	НЕ ВТ_КоличествоЗначений.КоличествоЗначений ЕСТЬ NULL

УПОРЯДОЧИТЬ ПО
	Значение,
	Параметр
Показать
Drivingblind; +1 Ответить
7. Dmitry77 83 24.07.21 18:13 Сейчас в теме +0.25 $m
1 запрос считаем кол-во параметров
2 запрос считаем кол-во значений
3. Сравнивает первые два, где количество совпадает, то значение показываем
Drivingblind; +1 Ответить
8. shurikvz 24.07.21 21:08 Сейчас в теме +0.25 $m
ВЫБРАТЬ
	"Параметр1" КАК Параметр,
	"Значение1" КАК Значение
ПОМЕСТИТЬ ВТ_ПараметрыЗначения

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр1",
	"Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр2",
	"Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр3",
	"Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр3",
	"Значение3"
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВТ_ПараметрыЗначения.Параметр) КАК ПараметрКоличество
ПОМЕСТИТЬ ВТ_КоличествоПараметров
ИЗ
	ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВТ_ПараметрыЗначения.Параметр) КАК ПараметрКоличество,
	ВТ_ПараметрыЗначения.Значение
ПОМЕСТИТЬ ВТ_КоличествоПараметровУЗначений
ИЗ
	ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения

СГРУППИРОВАТЬ ПО
	ВТ_ПараметрыЗначения.Значение
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_КоличествоПараметровУЗначений.Значение
ПОМЕСТИТЬ ВТ_ОтобранныеЗначения
ИЗ
	ВТ_КоличествоПараметровУЗначений КАК ВТ_КоличествоПараметровУЗначений
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_КоличествоПараметров КАК ВТ_КоличествоПараметров
		ПО ВТ_КоличествоПараметровУЗначений.ПараметрКоличество = ВТ_КоличествоПараметров.ПараметрКоличество
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_ПараметрыЗначения.Параметр,
	ВТ_ПараметрыЗначения.Значение
ИЗ
	ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_ОтобранныеЗначения КАК ВТ_ОтобранныеЗначения
		ПО ВТ_ПараметрыЗначения.Значение = ВТ_ОтобранныеЗначения.Значение
Показать
Drivingblind; +1 Ответить
9. Drivingblind 222 25.07.21 11:18 Сейчас в теме
(5),
(6),
(7),
(8), Всем спасибо! Сделал следующим образом

ВЫБРАТЬ
    "Параметр1" КАК Параметр,
    "Значение1" КАК Значение
ПОМЕСТИТЬ ВТ_ПараметрыЗначения

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    "Параметр1",
    "Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    "Параметр2",
    "Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    "Параметр3",
    "Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    "Параметр3",
    "Значение3"
;

////////////////////////////////////////////////////////////­­////////////////////
ВЫБРАТЬ
	КОЛИЧЕСТВО(*) КАК Количество
ПОМЕСТИТЬ ВТ_КоличествоПараметров
ИЗ
	ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
	ВТ_ПараметрыЗначения.Значение КАК Значение,
	КОЛИЧЕСТВО(ВТ_ПараметрыЗначения.Параметр) КАК КоличествоПараметров
ИЗ
	ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения

СГРУППИРОВАТЬ ПО
	ВТ_ПараметрыЗначения.Значение 

ИМЕЮЩИЕ
	КОЛИЧЕСТВО(ВТ_ПараметрыЗначения.Параметр) В
		(ВЫБРАТЬ
			ВТ_КоличествоПараметров.Количество
		ИЗ
			ВТ_КоличествоПараметров)
Показать
10. o.nikolaev 208 25.07.21 12:33 Сейчас в теме
(9)
ВЫБРАТЬ
"Параметр1" КАК Параметр,
"Значение1" КАК Значение
ПОМЕСТИТЬ ВТ_ПараметрыЗначения

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
"Параметр1",
"Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
"Параметр2",
"Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
"Параметр3",
"Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
"Параметр3",
"Значение3"
;

////////////////////////////////////////////////////////////­­­////////////////////
ВЫБРАТЬ
КОЛИЧЕСТВО(*) КАК Количество
ПОМЕСТИТЬ ВТ_КоличествоПараметров
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
;

////////////////////////////////////////////////////////////­­////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
ВТ_ПараметрыЗначения.Значение КАК Значение,
КОЛИЧЕСТВО(ВТ_ПараметрыЗначения.Параметр) КАК КоличествоПараметров
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения

СГРУППИРОВАТЬ ПО
ВТ_ПараметрыЗначения.Значение

ИМЕЮЩИЕ
КОЛИЧЕСТВО(ВТ_ПараметрыЗначения.Параметр) В
(ВЫБРАТЬ
ВТ_КоличествоПараметров.Количество
ИЗ
ВТ_КоличествоПараметров)
Показать


Этот запрос не возвращает ничего. Он даже юнит-тест описанный вами в начальном сообщении не проходит.
11. Drivingblind 222 25.07.21 14:18 Сейчас в теме
(10) Да, извиняюсь, во втором запросе, где создается таблица ВТ_КоличествоПараметров другой немного текст запроса. Спасибо, что заметили:
ВЫБРАТЬ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Параметр) КАК Количество
ПОМЕСТИТЬ ВТ_КоличествоПараметров
ИЗ
    ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
;
12. o.nikolaev 208 25.07.21 14:31 Сейчас в теме
(11)
ВЫБРАТЬ
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Параметр) КАК Количество
ПОМЕСТИТЬ ВТ_КоличествоПараметров
ИЗ
ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
;

Если поменять так как вы говорите, то результат будет - 1 строка:

Значение КоличествоПараметров
-------------- -----------------------------------
Значение2 3

И снова ваш же юнит-тест не выполняется.
13. Drivingblind 222 25.07.21 14:39 Сейчас в теме
(12), не вижу проблемы. Мы получили общее значение - Значение2. Осталось соединить таблицу с параметрами и вычисленным значением, это просто. Основной вопрос был в вычислении общих значений, а не в формальном соответствии результата запроса.
14. o.nikolaev 208 25.07.21 15:38 Сейчас в теме
(13) Ваш подход не работает:
- добавляем еще несколько значений и в результате появляется 2 строки

ВЫБРАТЬ
	"Параметр1" КАК Параметр,
	"Значение1" КАК Значение
ПОМЕСТИТЬ ВТ_ПараметрыЗначения

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр1",
	"Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр2",
	"Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр3",
	"Значение2"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр3",
	"Значение3"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр3",
	"Значение1"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр3",
	"Значение1"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Параметр2",
	"Значение3"


;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВТ_ПараметрыЗначения.Параметр) КАК Количество
ПОМЕСТИТЬ ВТ_КоличествоПараметров
ИЗ
	ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
	ВТ_ПараметрыЗначения.Значение КАК Значение,
	КОЛИЧЕСТВО(ВТ_ПараметрыЗначения.Параметр) КАК КоличествоПараметров
ИЗ
	ВТ_ПараметрыЗначения КАК ВТ_ПараметрыЗначения

СГРУППИРОВАТЬ ПО
	ВТ_ПараметрыЗначения.Значение

ИМЕЮЩИЕ
	КОЛИЧЕСТВО(ВТ_ПараметрыЗначения.Параметр) В
		(ВЫБРАТЬ
			ВТ_КоличествоПараметров.Количество
		ИЗ
			ВТ_КоличествоПараметров)
Показать
15. Drivingblind 222 25.07.21 15:57 Сейчас в теме
(14) Я вам отвечаю снова: у меня нет цели сейчас доводить этот запрос до идеала. Да и смысла в этом я не вижу, т.к. мне нужен был только сам подход, описанный в (7) двумя строчками.

(14)
добавляем еще несколько значений и в результате появляется 2 строки

Ситуация, о которой вы говорите, опять же, легко исправляется добавлением ключа "Различные" для исключения дублирующихся строк
16. o.nikolaev 208 25.07.21 16:02 Сейчас в теме
(15) Ну т.е. работающего запроса нет, в итоге.
Ситуация, о которой вы говорите, опять же, легко исправляется добавлением ключа "Различные" для исключения дублирующихся строк

Это куда надо добавить?
17. o.nikolaev 208 25.07.21 16:21 Сейчас в теме
(15)
Вот так на всех вариантах проверки работает, и на исходном:

ВЫБРАТЬ
	"Параметр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С
Кемерово
зарплата от 200 000 руб.
Полный день

Программист 1С
Киров (Кировская обл.)
зарплата от 100 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 150 000 руб.
Полный день

Архитектор 1С
Москва
зарплата от 250 000 руб.
Полный день

1С-Программист (интегратор Битрикс24)
Санкт-Петербург
зарплата от 150 000 руб. до 250 000 руб.
Полный день