0
mailwood
09.12.11
✎
17:29
|
В первом вложенном запросе выбираются сделки, во втором соответствующие сделке расторжения. Получается так, что если на одну и ту же сделку приходится несколько разных расторжений(пользователи ошибочно ввели лишние), то выводится несколько раз одна сделка(с вариантами соотв расторжений). Надо, чтобы сделка вышла 1 раз
(При попытке сделать просто левым соединением запрос ругнулся на условие ГДЕ Сделка.ДОН = &ДОН )
ВЫБРАТЬ
ВложенныйЗапрос.ПолеСдел КАК ПолеСдел,
ВложенныйЗапрос.СсылкаПредставление КАК Название,
ЕСТЬNULL(ВложенныйЗапрос1.ВидОперации, 0) КАК ВидОперации,
ЕСТЬNULL(ВложенныйЗапрос1.Ссылка, 0) КАК РасСылка,
ЕСТЬNULL(ВложенныйЗапрос1.ДоговорКонтрагента, 0) КАК ДоговорКонтрагента,
ЕСТЬNULL(ВложенныйЗапрос1.ДатаРасторжения, 0) КАК ДатаРасторжения,
ЕСТЬNULL(ВложенныйЗапрос1.Номер, 0) КАК Номер
ИЗ
(ВЫБРАТЬ РАЗЛИЧНЫЕ
Сделка.Ссылка КАК ПолеСдел,
ПРЕДСТАВЛЕНИЕ(Сделка.Ссылка) КАК СсылкаПредставление
ИЗ
Документ.Сделка КАК Сделка
ГДЕ
Сделка.ДОН = &ДОН) КАК ВложенныйЗапрос
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
Расторжение.ВидОперации КАК ВидОперации,
Расторжение.Ссылка КАК Ссылка,
Расторжение.ДоговорКонтрагента КАК ДоговорКонтрагента,
Расторжение.ДатаРасторжения КАК ДатаРасторжения,
Расторжение.Номер КАК Номер,
Расторжение.Сделка КАК Сделка
ИЗ
Документ.Расторжение КАК Расторжение) КАК ВложенныйЗапрос1
ПО ВложенныйЗапрос.ПолеСдел = ВложенныйЗапрос1.Сделка
|
|