0
PsyTech
19.07.13
✎
10:59
|
Всего мнений: 4
Всем привет!
Какой запрос быстрее?
Вариант1:
ВЫБРАТЬ
РегистрСв.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"
|
|