|
Запрос - вложенный запрос по условию | ☑ | ||
---|---|---|---|---|
0
Масянька
23.05.23
✎
17:01
|
День добрый!
Запрос: ВЫБРАТЬ НарядСтивидораСписокРаботников.Ссылка, НарядСтивидораСписокРаботников.Точка, НарядСтивидораСписокРаботников.Работник, НарядСтивидораСписокРаботников.РодЗанятости, НарядСтивидораСписокРаботников.ВидРабот, СУММА(НарядСтивидораСписокРаботников.ОтработаноЧасовПоДвойномуТарифу) КАК ОтработаноЧасовПоДвойномуТарифу, НарядСтивидораСписокРаботников.ОтработаноЧасов, НарядСтивидораСписокРаботников.ОтработаноЧасовПоГрафику, ВложенныйЗапрос.ТранспортноеСредство ПОМЕСТИТЬ ВТРасчетИзНарядов ИЗ Документ.НарядСтивидора.СписокРаботников КАК НарядСтивидораСписокРаботников ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ СводПутевыхЛистовПутевыеЛисты.Ссылка КАК Ссылка, СводПутевыхЛистовПутевыеЛисты.Ссылка.ТранспортноеСредство КАК ТранспортноеСредство, СводПутевыхЛистовПутевыеЛисты.ФИО КАК ФИО, СводПутевыхЛистовПутевыеЛисты.ДатаВремяВыезд КАК ДатаВремяВыезд, СводПутевыхЛистовПутевыеЛисты.ДатаВремяВозврат КАК ДатаВремяВозврат ИЗ Документ.СводПутевыхЛистов.ПутевыеЛисты КАК СводПутевыхЛистовПутевыеЛисты) КАК ВложенныйЗапрос ПО НарядСтивидораСписокРаботников.Работник = ВложенныйЗапрос.ФИО И НарядСтивидораСписокРаботников.НачалоРабот >= ВложенныйЗапрос.ДатаВремяВыезд И НарядСтивидораСписокРаботников.ОкончаниеРабот <= ВложенныйЗапрос.ДатаВремяВозврат ГДЕ НарядСтивидораСписокРаботников.Ссылка.НачалоНаряда МЕЖДУ &НачалоПериода И &КонецПериода СГРУППИРОВАТЬ ПО НарядСтивидораСписокРаботников.Ссылка, НарядСтивидораСписокРаботников.Точка, НарядСтивидораСписокРаботников.Работник, НарядСтивидораСписокРаботников.РодЗанятости, НарядСтивидораСписокРаботников.ВидРабот, НарядСтивидораСписокРаботников.ОтработаноЧасов, НарядСтивидораСписокРаботников.ОтработаноЧасовПоГрафику, ВложенныйЗапрос.ТранспортноеСредство Как сделать, чтобы вложенный запрос работал только если РодЗанятости содержит "Водитель". Спасибо. |
|||
1
Волшебник
23.05.23
✎
17:07
|
во вложенный запрос добавьте поле "Водитель" КАК РодЗанятости
в условия соединения надо добавить: И ВложенныйЗапрос.РодЗанятости = НарядСтивидораСписокРаботников.РодЗанятости |
|||
2
azernot
23.05.23
✎
17:07
|
Вложенный запрос будет работать как работал. Там нет Рода занятости. А вот из результата соединения ненужные записи вложенного запроса можно исключить добавив это в условия соединения.
|
|||
3
Масянька
23.05.23
✎
17:11
|
(1) ВЫБРАТЬ
НарядСтивидораСписокРаботников.Ссылка, НарядСтивидораСписокРаботников.Точка, НарядСтивидораСписокРаботников.Работник, НарядСтивидораСписокРаботников.РодЗанятости, НарядСтивидораСписокРаботников.ВидРабот, СУММА(НарядСтивидораСписокРаботников.ОтработаноЧасовПоДвойномуТарифу) КАК ОтработаноЧасовПоДвойномуТарифу, НарядСтивидораСписокРаботников.ОтработаноЧасов, НарядСтивидораСписокРаботников.ОтработаноЧасовПоГрафику, ВложенныйЗапрос.ТранспортноеСредство ПОМЕСТИТЬ ВТРасчетИзНарядов ИЗ Документ.НарядСтивидора.СписокРаботников КАК НарядСтивидораСписокРаботников ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ СводПутевыхЛистовПутевыеЛисты.Ссылка КАК Ссылка, СводПутевыхЛистовПутевыеЛисты.Ссылка.ТранспортноеСредство КАК ТранспортноеСредство, СводПутевыхЛистовПутевыеЛисты.ФИО КАК ФИО, СводПутевыхЛистовПутевыеЛисты.ДатаВремяВыезд КАК ДатаВремяВыезд, СводПутевыхЛистовПутевыеЛисты.ДатаВремяВозврат КАК ДатаВремяВозврат, "Водитель" КАК Водитель ИЗ Документ.СводПутевыхЛистов.ПутевыеЛисты КАК СводПутевыхЛистовПутевыеЛисты) КАК ВложенныйЗапрос ПО НарядСтивидораСписокРаботников.Работник = ВложенныйЗапрос.ФИО И НарядСтивидораСписокРаботников.НачалоРабот >= ВложенныйЗапрос.ДатаВремяВыезд И НарядСтивидораСписокРаботников.ОкончаниеРабот <= ВложенныйЗапрос.ДатаВремяВозврат И НарядСтивидораСписокРаботников.РодЗанятости = ВложенныйЗапрос.Водитель ГДЕ НарядСтивидораСписокРаботников.Ссылка.НачалоНаряда МЕЖДУ &НачалоПериода И &КонецПериода СГРУППИРОВАТЬ ПО НарядСтивидораСписокРаботников.Ссылка, НарядСтивидораСписокРаботников.Точка, НарядСтивидораСписокРаботников.Работник, НарядСтивидораСписокРаботников.РодЗанятости, НарядСтивидораСписокРаботников.ВидРабот, НарядСтивидораСписокРаботников.ОтработаноЧасов, НарядСтивидораСписокРаботников.ОтработаноЧасовПоГрафику, ВложенныйЗапрос.ТранспортноеСредство Пусто. |
|||
4
Волшебник
23.05.23
✎
17:11
|
РодЗанятости - строка?
|
|||
5
Мультук
гуру
23.05.23
✎
17:14
|
(3)
1) Конечно пусто. Вы же там во временную таблицу положили результат 2) СУММА(НарядСтивидораСписокРаботников.ОтработаноЧасовПоДвойномуТарифу) КАК ОтработаноЧасовПоДвойномуТарифу, НарядСтивидораСписокРаботников.ОтработаноЧасов, НарядСтивидораСписокРаботников.ОтработаноЧасовПоГрафику, Почему агреггирование только двойному тарифу ? Дискриминация ? |
|||
6
Масянька
23.05.23
✎
17:15
|
(2) Их не надо исключать.
Есть две таблицы. Первая 01.01.23 19:00 01.01.23 21:00 Иванов Водитель а/м 01.01.23 21:00 02.01.23 00:00 Иванов Грузчик Вторая 01.01.23 19:00 02.01.23 00:00 Иванов Погрузчик Нужно получить 01.01.23 19:00 01.01.23 21:00 Иванов Водитель а/м Погрузчик 01.01.23 21:00 02.01.23 00:00 Иванов Грузчик |
|||
7
Масянька
23.05.23
✎
17:16
|
(4) Да.
|
|||
8
Масянька
23.05.23
✎
17:16
|
(5) Требования такие.
|
|||
9
azernot
23.05.23
✎
17:17
|
(3) Достаточно в условие соединения прописать что-то типа
И НарядСтивидораСписокРаботников.РодЗанятости Подобно "%Водитель%" |
|||
10
Волшебник
23.05.23
✎
17:19
|
(7) "Водитель а/м" <> "Водитель"
|
|||
11
Волшебник
23.05.23
✎
17:20
|
(9) Это ужасно медленное условие. Лучше так
РодЗанятости Подобно "Водитель%" |
|||
12
Мультук
гуру
23.05.23
✎
17:21
|
(6)
Это уже кросс-таблица ? |
|||
13
azernot
23.05.23
✎
17:21
|
(11) А ещё лучше массив с полным перечнем возможных "водителей" :)
Но хочет человек чтобы было [РодЗанятости содержит "Водитель"] вот пусть и получает это |
|||
14
Масянька
23.05.23
✎
17:21
|
(9)
ВЫБРАТЬ НарядСтивидораСписокРаботников.Ссылка, НарядСтивидораСписокРаботников.Точка, НарядСтивидораСписокРаботников.Работник, НарядСтивидораСписокРаботников.РодЗанятости, НарядСтивидораСписокРаботников.ВидРабот, СУММА(НарядСтивидораСписокРаботников.ОтработаноЧасовПоДвойномуТарифу) КАК ОтработаноЧасовПоДвойномуТарифу, НарядСтивидораСписокРаботников.ОтработаноЧасов, НарядСтивидораСписокРаботников.ОтработаноЧасовПоГрафику, ВложенныйЗапрос.ТранспортноеСредство ПОМЕСТИТЬ ВТРасчетИзНарядов ИЗ Документ.НарядСтивидора.СписокРаботников КАК НарядСтивидораСписокРаботников ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ СводПутевыхЛистовПутевыеЛисты.Ссылка КАК Ссылка, СводПутевыхЛистовПутевыеЛисты.Ссылка.ТранспортноеСредство КАК ТранспортноеСредство, СводПутевыхЛистовПутевыеЛисты.ФИО КАК ФИО, СводПутевыхЛистовПутевыеЛисты.ДатаВремяВыезд КАК ДатаВремяВыезд, СводПутевыхЛистовПутевыеЛисты.ДатаВремяВозврат КАК ДатаВремяВозврат ИЗ Документ.СводПутевыхЛистов.ПутевыеЛисты КАК СводПутевыхЛистовПутевыеЛисты) КАК ВложенныйЗапрос ПО НарядСтивидораСписокРаботников.Работник = ВложенныйЗапрос.ФИО И НарядСтивидораСписокРаботников.НачалоРабот >= ВложенныйЗапрос.ДатаВремяВыезд И НарядСтивидораСписокРаботников.ОкончаниеРабот <= ВложенныйЗапрос.ДатаВремяВозврат И НарядСтивидораСписокРаботников.РодЗанятости Подобно "%Водитель%" ГДЕ НарядСтивидораСписокРаботников.Ссылка.НачалоНаряда МЕЖДУ &НачалоПериода И &КонецПериода СГРУППИРОВАТЬ ПО НарядСтивидораСписокРаботников.Ссылка, НарядСтивидораСписокРаботников.Точка, НарядСтивидораСписокРаботников.Работник, НарядСтивидораСписокРаботников.РодЗанятости, НарядСтивидораСписокРаботников.ВидРабот, НарядСтивидораСписокРаботников.ОтработаноЧасов, НарядСтивидораСписокРаботников.ОтработаноЧасовПоГрафику, ВложенныйЗапрос.ТранспортноеСредство Неверные параметры "ПОДОБНО" |
|||
15
Волшебник
23.05.23
✎
17:22
|
Можно вложенный запрос вытащить во временную таблицу, станет лучше.
|
|||
16
Волшебник
23.05.23
✎
17:23
|
(14) запятую пропустили
|
|||
17
Масянька
23.05.23
✎
17:23
|
(15) Нет. Параметры для выборки в Наряде.
|
|||
18
Волшебник
23.05.23
✎
17:24
|
строку
И НарядСтивидораСписокРаботников.РодЗанятости Подобно "%Водитель%" заменить на ВложенныйЗапрос.РодЗанятости Подобно "%Водитель%" |
|||
19
azernot
23.05.23
✎
17:25
|
(14) Значит НарядСтивидораСписокРаботников.РодЗанятости у вас нифига не строка.
|
|||
20
Волшебник
23.05.23
✎
17:26
|
(19) Масянька бот?
|
|||
21
Масянька
23.05.23
✎
17:27
|
(16) Где?
|
|||
22
azernot
23.05.23
✎
17:27
|
(20) Ну, все мы знаем Масяньку. Она просто такая.
|
|||
23
Fish
23.05.23
✎
17:28
|
(19) Но выглядит то как строка! :)
|
|||
24
Масянька
23.05.23
✎
17:28
|
А что флуд в тематических ветках уже разрешили? Или только "избранным"?
|
|||
25
Волшебник
23.05.23
✎
17:29
|
(24) Не отвлекайтесь от стивидоров
|
|||
26
Масянька
23.05.23
✎
17:30
|
(25) Так запятая-то где?
|
|||
27
azernot
23.05.23
✎
17:31
|
(24) Откройте в дереве конфигурации Документ.НарядСтивидора, найтите ТЧ СписокРаботников, найдите реквизит "РодЗанятости", кликните правой кнопкой, выберите пункт "Свойства", посмотрите что указано в свойствах в параметре "Тип" и напишите нам.
|
|||
28
Волшебник
23.05.23
✎
18:17
|
(26) Про запятую я ошибся
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |