ВЫБРАТЬ
РегистрСв.UID,
МАКСИМУМ(ВЫБОР
КОГДА РегистрСв.ИмяРеквизита = "Реквизит1"
ТОГДА РегистрСв.Значение
КОНЕЦ) КАК Реквизит1,
МАКСИМУМ(ВЫБОР
КОГДА РегистрСв.ИмяРеквизита = "Реквизит2"
ТОГДА РегистрСв.Значение
КОНЕЦ) КАК Реквизит2,
МАКСИМУМ(ВЫБОР
КОГДА РегистрСв.ИмяРеквизита = "Реквизит3"
ТОГДА РегистрСв.Значение
КОНЕЦ) КАК Реквизит3
ИЗ
РегистрСведений.РегистрСв КАК РегистрСв
ГДЕ
(РегистрСв.ИмяРеквизита = "Реквизит1"
ИЛИ РегистрСв.ИмяРеквизита = "Реквизит2"
ИЛИ РегистрСв.ИмяРеквизита = "Реквизит3")
СГРУППИРОВАТЬ ПО
РегистрСв.UID
Вариант2:
ВЫБРАТЬ
РегистрСв1.UID,
РегистрСв1.Значение КАК Реквизит1,
РегистрСв2.Значение КАК Реквизит2,
РегистрСв3.Значение КАК Реквизит3
ИЗ
РегистрСведений.РегистрСв КАК РегистрСв1
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РегистрСв КАК РегистрСв2
ПО (РегистрСв2.ИмяРеквизита = "Реквизит2")
И РегистрСв1.UID = РегистрСв2.UID
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РегистрСв КАК РегистрСв3
ПО (РегистрСв3.ИмяРеквизита = "Реквизит3")
И РегистрСв1.UID = РегистрСв3.UID
ГДЕ
РегистрСв1.ИмяРеквизита = "Реквизит1"
использование ИЛИ в ГДЕ отключает использование индексов
Вариант2
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс