![]() |
![]() |
|
запутался с простым запросом. помогите разобраться в чем затык | ☑ | ||
---|---|---|---|---|
0
rchervak
20.11.15
✎
09:18
|
всем привет.
вроде бы элементарный запрос, но не хочет отрабатывать. Задача выбрать записи из таблицы Общ_ФондОстатки.Комната только те которых нет в временной таблице ВТ_обход. ВЫБРАТЬ ОбходКомнатСрезПоследних.комната ПОМЕСТИТЬ ВТ_обход ИЗ РегистрСведений.ОбходКомнат.СрезПоследних(&Период, ) КАК ОбходКомнатСрезПоследних СГРУППИРОВАТЬ ПО ОбходКомнатСрезПоследних.комната ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Общ_ФондОстатки.Комната КАК Комната, Общ_ФондОстатки.Комната.Владелец ИЗ РегистрНакопления.Общ_Фонд.Остатки(&Период, Корпус = &Корпус) КАК Общ_ФондОстатки, ВТ_обход КАК ВТ_обход ГДЕ не Общ_ФондОстатки.Комната В (ВТ_обход.комната) СГРУППИРОВАТЬ ПО Общ_ФондОстатки.Комната, Общ_ФондОстатки.Комната.Владелец УПОРЯДОЧИТЬ ПО Комната "не Общ_ФондОстатки.Комната В (ВТ_обход.комната)" - никак не хочет отрабатывать и выводит тупо все записи если сделать "Общ_ФондОстатки.Комната В (ВТ_обход.комната)" - то отрабатывает правильно, и выбирает только те "комнаты" - которые есть во вр. таблице. в чем может быть затык? |
|||
1
Горогуля
20.11.15
✎
09:22
|
из основная левое вт где вт нулл
|
|||
2
asady
20.11.15
✎
09:26
|
ВЫБРАТЬ РАЗЛИЧНЫЕ
Общ_ФондОстатки.Комната КАК Комната, Общ_ФондОстатки.Комната.Владелец ИЗ РегистрНакопления.Общ_Фонд.Остатки(&Период, Корпус = &Корпус) КАК Общ_ФондОстатки ГДЕ не Общ_ФондОстатки.Комната В (выбрать вт.комната из ВТ_обход как вт) УПОРЯДОЧИТЬ ПО Комната |
|||
3
aleks_default
20.11.15
✎
09:27
|
Убери условие во втором пакете
ГДЕ не Общ_ФондОстатки.Комната В (ВТ_обход.комната) и увидишь в чем проблема |
|||
4
rchervak
20.11.15
✎
09:42
|
(2) да так все правильно отрабатывает. спасибо.
долго допирал, прочитал статью про "Выбрать в условии запроса" все правильно. |
|||
5
aleks_default
20.11.15
✎
09:45
|
(4)почитай еще про декартово произведение
|
|||
6
su_mai
20.11.15
✎
10:16
|
(0) Навскидку так:
ВЫБРАТЬ ОбходКомнатСрезПоследних.комната ПОМЕСТИТЬ ВТ_обход ИЗ РегистрСведений.ОбходКомнат.СрезПоследних(&Период, ) КАК ОбходКомнатСрезПоследних ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Общ_ФондОстатки.Комната КАК Комната, Общ_ФондОстатки.Комната.Владелец ИЗ РегистрНакопления.Общ_Фонд.Остатки(&Период, Корпус = &Корпус И Комната НЕ В(ВЫБРАТЬ ВложенныЗапрос.Комната ИЗ ВТ_обход КАК ВложенныЗапрос)) КАК Общ_ФондОстатки, УПОРЯДОЧИТЬ ПО Комната не отлаживал и не буду :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |