![]() |
|
ЗиК 8.2 СКД | ☑ | ||
---|---|---|---|---|
0
Woiager1984
16.09.13
✎
13:46
|
Добрый день!Подскажите пытаюсь написать небольшой отчет на СКД,нужно чтобы выводился сотрудник и его образование самое высшее,ну т.е если в таблице есть две записи среднее и высшее,то выводить высшее.Сам запрос:
ВЫБРАТЬ Axel_ПедагогическиеНагрузки.Сотрудник, ФизическиеЛицаОбразование.ВидОбразования ИЗ Документ.Axel_ПедагогическиеНагрузки КАК Axel_ПедагогическиеНагрузки ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица.Образование КАК ФизическиеЛицаОбразование ПО (ФизическиеЛицаОбразование.Ссылка = Axel_ПедагогическиеНагрузки.Сотрудник.Физлицо) ГДЕ Axel_ПедагогическиеНагрузки.ДатаНачала <= &НачалоПериода И Axel_ПедагогическиеНагрузки.ДатаОкончания >= &КонецПериода Но выводятся данные о всех образованиях.Не знаю как организовать отбор? |
|||
1
shuhard
16.09.13
✎
13:52
|
(0) [Не знаю как организовать отбор?]
ГДЕ ФизическиеЛицаОбразование.ВидОбразования=&Высшее |
|||
2
Woiager1984
16.09.13
✎
14:01
|
Нет,нужно выбрать высшую ступень в образовании.
|
|||
3
shuhard
16.09.13
✎
14:16
|
(2) ну и ?
|
|||
4
SherifSP
16.09.13
✎
14:18
|
Высшая будит самая позжая, сделай сортировку по дате и выбрать Первые 1
|
|||
5
SherifSP
16.09.13
✎
14:20
|
+(4) По году окончания
|
|||
6
spu79
16.09.13
✎
14:21
|
лучше добавить временную таблицу, в которой задать индексы для каждого вида образования (выбор когда... ). а потом этот индекс использовать в итоговой таблице для сортировки и/или отбора
|
|||
7
spu79
16.09.13
✎
14:24
|
+ потом легко будет посчитать кол-во людей с каждым видом образования (вреднее, высшее, уч.степень и т.д.)
|
|||
8
Woiager1984
16.09.13
✎
14:45
|
Что то подобное?
ВЫБРАТЬ СтрокиОбразования.ФизЛицо КАК ФизЛицо, ФизическиеЛицаОбразование.ВидОбразования ПОМЕСТИТЬ ВТОбразованиеФизлиц ИЗ (ВЫБРАТЬ МАКСИМУМ(ФизическиеЛицаОбразование.НомерСтроки) КАК НомерСтроки, УровниОбразования.ФизЛицо КАК ФизЛицо ИЗ (ВЫБРАТЬ ФизическиеЛицаОбразование.Ссылка КАК ФизЛицо, МАКСИМУМ(ВЫБОР КОГДА ФизическиеЛицаОбразование.ВидОбразования = ЗНАЧЕНИЕ(Справочник.ВидыОбразованияФизЛиц.ВысшееОбразование) ТОГДА 4 КОГДА ФизическиеЛицаОбразование.ВидОбразования = ЗНАЧЕНИЕ(Справочник.ВидыОбразованияФизЛиц.СреднееПрофессиональноеОбразование) ТОГДА 3 КОГДА ФизическиеЛицаОбразование.ВидОбразования = ЗНАЧЕНИЕ(Справочник.ВидыОбразованияФизЛиц.НачальноеПрофессиональноеОбразование) ТОГДА 2 КОГДА ФизическиеЛицаОбразование.ВидОбразования = ЗНАЧЕНИЕ(Справочник.ВидыОбразованияФизЛиц.СреднееПолноеОбщееОбразование) ТОГДА 1 ИНАЧЕ -1 КОНЕЦ) КАК УровеньОбразования ИЗ Справочник.ФизическиеЛица.Образование КАК ФизическиеЛицаОбразование СГРУППИРОВАТЬ ПО ФизическиеЛицаОбразование.Ссылка) КАК УровниОбразования ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица.Образование КАК ФизическиеЛицаОбразование ПО УровниОбразования.ФизЛицо = ФизическиеЛицаОбразование.Ссылка И (ВЫБОР КОГДА УровниОбразования.УровеньОбразования = 1 ТОГДА ЗНАЧЕНИЕ(Справочник.ВидыОбразованияФизЛиц.СреднееПолноеОбщееОбразование) КОГДА УровниОбразования.УровеньОбразования = 2 ТОГДА ЗНАЧЕНИЕ(Справочник.ВидыОбразованияФизЛиц.НачальноеПрофессиональноеОбразование) КОГДА УровниОбразования.УровеньОбразования = 3 ТОГДА ЗНАЧЕНИЕ(Справочник.ВидыОбразованияФизЛиц.СреднееПрофессиональноеОбразование) КОГДА УровниОбразования.УровеньОбразования = 4 ТОГДА ЗНАЧЕНИЕ(Справочник.ВидыОбразованияФизЛиц.ВысшееОбразование) ИНАЧЕ """" КОНЕЦ = ФизическиеЛицаОбразование.ВидОбразования) СГРУППИРОВАТЬ ПО УровниОбразования.ФизЛицо) КАК СтрокиОбразования ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица.Образование КАК ФизическиеЛицаОбразование ПО СтрокиОбразования.ФизЛицо = ФизическиеЛицаОбразование.Ссылка И СтрокиОбразования.НомерСтроки = ФизическиеЛицаОбразование.НомерСтроки ИНДЕКСИРОВАТЬ ПО ФизЛицо ; ВЫБРАТЬ Axel_ПедагогическиеНагрузки.Сотрудник, ИЗ Документ.Axel_ПедагогическиеНагрузки КАК Axel_ПедагогическиеНагрузки ГДЕ Axel_ПедагогическиеНагрузки.ДатаНачала <= &НачалоПериода И Axel_ПедагогическиеНагрузки.ДатаОкончания >= &КонецПериода Вот только как эти два запроса между собой увязать? |
|||
9
spu79
16.09.13
✎
16:28
|
"Персик знаешь? Савсэм не похож" (с) вообще мысль в правильном направлении, но...
|
|||
10
spu79
16.09.13
✎
16:28
|
На вскидку, как то так
ВЫБРАТЬ ВЫБОР КОГДА ВидыОбразованияФизЛиц.Ссылка = ЗНАЧЕНИЕ(Справочник.ВидыОбразованияФизЛиц.СреднееПолноеОбщееОбразование) ТОГДА 3 КОГДА ВидыОбразованияФизЛиц.Ссылка = ЗНАЧЕНИЕ(Справочник.ВидыОбразованияФизЛиц.ВысшееОбразование) ТОГДА 1 КОГДА ВидыОбразованияФизЛиц.Ссылка = ЗНАЧЕНИЕ(Справочник.ВидыОбразованияФизЛиц.СреднееПрофессиональноеОбразование) ТОГДА 2 ИНАЧЕ 1000 КОНЕЦ КАК ИндексОбразования, ВидыОбразованияФизЛиц.Наименование, ВидыОбразованияФизЛиц.Представление, ВидыОбразованияФизЛиц.Ссылка ПОМЕСТИТЬ ВТ_Образование ИЗ Справочник.ВидыОбразованияФизЛиц КАК ВидыОбразованияФизЛиц ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ФизическиеЛицаОбразование.Ссылка КАК ФизЛицо, МИНИМУМ(ВТ_Образование.ИндексОбразования) КАК ИндексОбразования ПОМЕСТИТЬ ВТ_ФЛ_Образование ИЗ ВТ_Образование КАК ВТ_Образование ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица.Образование КАК ФизическиеЛицаОбразование ПО ФизическиеЛицаОбразование.ВидОбразования = ВТ_Образование.Ссылка СГРУППИРОВАТЬ ПО ФизическиеЛицаОбразование.Ссылка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_ФЛ_Образование.ФизЛицо КАК ФизЛицо, ВТ_ФЛ_Образование.ИндексОбразования КАК ИндексОбразования, ВЫБОР КОГДА ВТ_Образование.ИндексОбразования = 1000 ТОГДА "Прочее" ИНАЧЕ ВТ_Образование.Представление КОНЕЦ КАК НаименованиеОбразования ИЗ ВТ_ФЛ_Образование КАК ВТ_ФЛ_Образование Левое СОЕДИНЕНИЕ ВТ_Образование КАК ВТ_Образование ПО ВТ_ФЛ_Образование.ИндексОбразования = ВТ_Образование.ИндексОбразования УПОРЯДОЧИТЬ ПО НаименованиеОбразования, ФизЛицо ИТОГИ КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ФизЛицо) ПО ОБЩИЕ, НаименованиеОбразования АВТОУПОРЯДОЧИВАНИЕ |
|||
11
spu79
16.09.13
✎
16:29
|
в первой таблице есть лишние поля.
накидал в консоли запросов, без СКД |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |