![]() |
|
Левое соединение по несуществующим записям | ☑ | ||
---|---|---|---|---|
0
il
23.10.13
✎
09:52
|
Есть вложенный запрос и 2 типа цен, Возможно ли сделать так, чтобы выбиралась первая цена, а если ее нет, то вторая
СписокПрайсов.Добавить(Параметры.ВидЦен.Ссылка); СписокПрайсов.Добавить(Константы.ОсновнойПрайс.Получить().Ссылка); СписокТоваров.Параметры.УстановитьЗначениеПараметра("СписокПрайсов",СписокПрайсов); Ситуация: записей в регистре по первому типу цен реально нет, я думал, что будет выдаваться вторые цены (ОсновнойПрайс), а получаются нули. Делать во вложенном первую 1 запись пробовал таже история. ВЫБРАТЬ Товары.Ссылка КАК Ссылка, Товары.Родитель, Товары.ЭтоГруппа, Товары.Код, Товары.Наименование, Товары.ШтрихКод, Товары.Представление, ВложенныйЗапрос1.Цена, ВложенныйЗапрос1.МинЦена ИЗ Справочник.Товары КАК Товары ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ Цены.Товар.Ссылка КАК ТоварСсылка, Цены.Прайс.Ссылка КАК ПрайсСсылка, Цены.Цена КАК Цена, Цены.МинЦена КАК МинЦена ИЗ РегистрСведений.Цены КАК Цены ГДЕ Цены.Прайс.Ссылка В(&СписокПрайсов)) КАК ВложенныйЗапрос1 ПО Товары.Ссылка = ВложенныйЗапрос1.ТоварСсылка.Ссылка ГДЕ Товары.ПометкаУдаления = ЛОЖЬ |
|||
1
Мимохожий Однако
23.10.13
✎
09:53
|
если NULL , то вторую цену показать
|
|||
2
Мимохожий Однако
23.10.13
✎
09:54
|
метод Выбор
|
|||
3
zak555
23.10.13
✎
09:56
|
(2) +1
и зачем нужен вложенный запрос ? |
|||
4
kosts
23.10.13
✎
09:57
|
Делай соединение для каждого типа цен. Потом в выбор.
|
|||
5
kosts
23.10.13
✎
09:58
|
Либо как-то с группировками поиграться, что бы подзапрос возвращал одну цену, даже если две цены установлены...
|
|||
6
il
23.10.13
✎
11:24
|
(4) Спасибо за совет тема закрыта. Выложу результат моджет кому пригодится:
ВЫБРАТЬ Товары.Ссылка КАК Ссылка, Товары.Родитель, Товары.ЭтоГруппа, Товары.Код, Товары.Наименование, Товары.ШтрихКод, Товары.Представление, ЕСТЬNULL(ЗапросЦены.Цена,ЗапросОсновнойЦены.Цена) КАК Цена, ЕСТЬNULL(ЗапросЦены.МинЦена,ЗапросОсновнойЦены.МинЦена) КАК МинЦена ИЗ Справочник.Товары КАК Товары ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ Остатки.Остаток КАК Остаток, Остатки.Номенклатура КАК Номенклатура ИЗ РегистрСведений.Остатки КАК Остатки ГДЕ Остатки.Склад = &Склад И Остатки.Остаток > 0) КАК ВложенныйЗапрос ПО Товары.Ссылка = ВложенныйЗапрос.Номенклатура.Ссылка ПО Товары.Ссылка = ЗапросЦены.ТоварСсылка.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ Цены.Товар.Ссылка КАК ТоварСсылка, Цены.Прайс.Ссылка КАК ПрайсСсылка, Цены.Цена КАК Цена, Цены.МинЦена КАК МинЦена ИЗ РегистрСведений.Цены КАК Цены ГДЕ Цены.Прайс.Ссылка =&ОсновнойПрайс) КАК ЗапросОсновнойЦены ПО Товары.Ссылка = ЗапросОсновнойЦены.ТоварСсылка.Ссылка ГДЕ Товары.ПометкаУдаления = ЛОЖЬ |
|||
7
il
23.10.13
✎
11:26
|
Не то удалил
ВЫБРАТЬ Товары.Ссылка КАК Ссылка, Товары.Родитель, Товары.ЭтоГруппа, Товары.Код, Товары.Наименование, Товары.ШтрихКод, Товары.Представление, ВложенныйЗапрос.Остаток, ЕСТЬNULL(ЗапросЦены.Цена,ЗапросОсновнойЦены.Цена) КАК Цена, ЕСТЬNULL(ЗапросЦены.МинЦена,ЗапросОсновнойЦены.МинЦена) КАК МинЦена ИЗ Справочник.Товары КАК Товары ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ Остатки.Остаток КАК Остаток, Остатки.Номенклатура КАК Номенклатура ИЗ РегистрСведений.Остатки КАК Остатки ГДЕ Остатки.Склад = &Склад И Остатки.Остаток > 0) КАК ВложенныйЗапрос ПО Товары.Ссылка = ВложенныйЗапрос.Номенклатура.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ Цены.Товар.Ссылка КАК ТоварСсылка, Цены.Прайс.Ссылка КАК ПрайсСсылка, Цены.Цена КАК Цена, Цены.МинЦена КАК МинЦена ИЗ РегистрСведений.Цены КАК Цены ГДЕ Цены.Прайс.Ссылка =&Прайс) КАК ЗапросЦены ПО Товары.Ссылка = ЗапросЦены.ТоварСсылка.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ Цены.Товар.Ссылка КАК ТоварСсылка, Цены.Прайс.Ссылка КАК ПрайсСсылка, Цены.Цена КАК Цена, Цены.МинЦена КАК МинЦена ИЗ РегистрСведений.Цены КАК Цены ГДЕ Цены.Прайс.Ссылка =&ОсновнойПрайс) КАК ЗапросОсновнойЦены ПО Товары.Ссылка = ЗапросОсновнойЦены.ТоварСсылка.Ссылка ГДЕ Товары.ПометкаУдаления = ЛОЖЬ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |