Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Вроде простой запрос ?

Вроде простой запрос ?
Я
   valblack
 
14.09.20 - 06:36
Всем привет! Нужна помощь в написании запроса. Вроде он должен быть простой, а написать не могу :-(

Есть таблица:
№ Заказа | Упаковка | Количество упаковок
1        | Сумка    | 4
1        | Пакет    | 2
2        | Ящик     | 1
2        | Пакет    | 4
3        | Ящик     | 3
3        | Пакет    | 1
3        | Сумка    | 2
4        | Пакет    | 7
5        | Сумка    | 2

Нужно запросом выбрать номера заказов, в которых нет сумки. То есть это № 2 и № 4
   SleepyHead
 
1 - 14.09.20 - 06:41
Ну очевидно же, в такой постановке задачи нужно добавить условие:

ГДЕ номерЗаказа В (2,4)
   Конструктор1С
 
2 - 14.09.20 - 06:43
(0) в чем проблема? Сначала выбираешь номера, в которых сумка есть, а потом фильтруешь на НЕ вхождение в первую выборку
   valblack
 
3 - 14.09.20 - 06:50
Sleepy, ну да, постановка слегка хромает :-)

Конструктор, идею понял, спасибо, попробую
   valblack
 
4 - 14.09.20 - 06:51
off-topic: а как надо правильно писать ответ на сообщение, чтобы было понятно, кому ответил ?
   valblack
 
5 - 14.09.20 - 06:55
РЕШЕНО:

ВЫБРАТЬ
    Влож.Заказ КАК НомерЗаказа
ИЗ

( ВЫБРАТЬ
    ТаблицаЗаказов.НомерЗаказа КАК Заказ,
    СУММА(
             ВЫБОР КОГДА ТаблицаЗаказов.Упаковка = &Упаковка ТОГДА 1 ИНАЧЕ 0 КОНЕЦ ) КАК Количество
ИЗ
    Справочник.ТаблицаЗаказов КАК ТаблицаЗаказов

СГРУППИРОВАТЬ ПО ТаблицаЗаказов.НомерЗаказа

) КАК Влож

ГДЕ
   Влож.Количество = 0
   SleepyHead
 
6 - 14.09.20 - 07:13
(5) Зачем так сложно-то?

Выбрать
   ТаблицаЗаказов.НомерЗаказа
ИЗ 
  Справочник.ТаблицаЗаказов КАК ТаблицаЗаказов
ГДЕ
   ТаблицаЗаказов.Упаковка <> &Сумка
   Конструктор1С
 
7 - 14.09.20 - 07:18
(6) выведет все
   SleepyHead
 
8 - 14.09.20 - 07:19
(7) Нет, не все.
   Конструктор1С
 
9 - 14.09.20 - 07:19
(5) молодец
   valblack
 
10 - 14.09.20 - 07:19
Выведет
1        | Пакет
2        | Ящик    

и т.д.
   Конструктор1С
 
11 - 14.09.20 - 07:20
(8) присмотрись внимательно к таблице, выведет и 2 и 4, т.к. в них есть другие упаковки
   SleepyHead
 
12 - 14.09.20 - 07:20
(11) Понял.
   valblack
 
13 - 14.09.20 - 07:21
(9) Спасибо! :-)

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.