![]() |
|
Ошибка в запросе | ☑ | ||
---|---|---|---|---|
0
GreenDay1986
07.11.11
✎
15:11
|
Запрос для камина
|ФИО.Фамилия КАК Фамилия, |ФИО.Имя КАК Имя, |ФИО.Отчество КАК Отчество, |Кадр.Должность КАК Должность, |Кадр.Сотрудник.ДатаРождения КАК ДатаРождения, |Кадр.Сотрудник.Пол КАК Пол, |Кадр.Сотрудник.Документ.КемВыдан КАК КемВыдан, |Кадр.Сотрудник.Документ.ДатаВыдачи КАК ДатаВыдачи, |Кадр.Сотрудник.Документ.СерияДокумента КАК Серия, |Кадр.Сотрудник.Документ.НомерДокумента КАК Номер, |МАКСИМУМ(Кадр.Прием.ДатаПриема) КАК ДатаПриема, |МАКСИМУМ(Кадр.Увольнение.Дата) КАК ДатаУвольнения |ИЗ РегистрСведений.ФИОСотрудников КАК ФИО |ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КадровыеСведения.СрезПоследних КАК Кадр |ПО ФИО.Сотрудник = Кадр.Сотрудник |ГДЕ (Кадр.Прием.Дата МЕЖДУ &ДатаНачалаПериода и &ТекущаяДата) И |ВЫБОР КОГДА ЕСТЬNULL(Кадр.Увольнение.Дата, 0) = 0 |ТОГДА ИСТИНА |ИНАЧЕ Кадр.Прием.Дата > Кадр.Увольнение.Дата |КОНЕЦ |СГРУППИРОВАТЬ ПО |ФИО.Фамилия, |ФИО.Имя, |ФИО.Отчество, |Кадр.Должность, // |Кадр.Сотрудник.МестоРождения, |ДАТА(Кадр.Сотрудник.ДатаРождения), |Кадр.Сотрудник.Пол, |Кадр.Сотрудник.Документ.КемВыдан, |Кадр.Сотрудник.Документ.ДатаВыдачи, |Кадр.Сотрудник.Документ.СерияДокумента, |Кадр.Сотрудник.Документ.НомерДокумента |Кадр.Прием.Дата, |Кадр.Увольнение.Дата |"; Дата приема и дата выдачи после группировки получаются неправильными, причем месяц и год выдаются корректно а даты везде 12 число. Заранее благодарен. |
|||
1
GreenDay1986
07.11.11
✎
15:14
|
Может из-за группировок? Подскажите пожалуйста как сделать?
|
|||
2
Fragster
гуру
07.11.11
✎
15:24
|
конструктором принципиально не пользуетесь?
|
|||
3
GreenDay1986
07.11.11
✎
15:27
|
Ну да, по религиозным соображениям. Дату мне нужно брать последнюю, наверное и не надо ее группировать, вопрос как?
|
|||
4
Fragster
гуру
07.11.11
✎
15:27
|
потому как
|МАКСИМУМ(Кадр.Прием.ДатаПриема) КАК ДатаПриема, и |СГРУППИРОВАТЬ ПО .... |Кадр.Прием.Дата, фигово сочетаются. да и вообще корявый запрос |
|||
5
GreenDay1986
07.11.11
✎
15:30
|
Согласен что корявый, программирую недавно, подскажите плиз как сделать некоряво :)
|
|||
6
Fragster
гуру
07.11.11
✎
15:32
|
(5) Сначала поизучать SQL хоть чуть чуть.
Потом понять, что каждая точка - это неявное левое соединение, и что при этом происходит. |
|||
7
hhhh
07.11.11
✎
15:33
|
(5) пользоваться конструктором как все. Когда освоишься, тогда уже ударяйся в свою религию, а пока надо программировать как все.
|
|||
8
GreenDay1986
07.11.11
✎
15:35
|
На чуть - чуть здесь и написано, думается внутренний запрос нужно создавать тогда даты группировать не придется. Есть подобные предложения или до этого никто чуть-чуть не дочитал? Может еще пути есть?
|
|||
9
hhhh
07.11.11
✎
15:46
|
(8) подожди, тут
|Кадр.Сотрудник.Документ.НомерДокумента |Кадр.Прием.Дата, запятой вообще нет. Этот запрос вообще не должен запуститься. Ты видимо и сюда запрос вручную набирал, копипаст тоже под религиозным запретом? |
|||
10
GreenDay1986
07.11.11
✎
16:21
|
нет, закомменченную строчку удалил некорректно, в запросе все запускается . :)
|
|||
11
Buster007
07.11.11
✎
16:26
|
Кадр.Прием.Дата > Кадр.Увольнение.Дата
уволить могут раньше, чем принять? |
|||
12
Fragster
гуру
07.11.11
✎
16:37
|
(11) если несколько раз принимали и увольняли, а что?
|
|||
13
Buster007
07.11.11
✎
16:41
|
(12) может быть.. прост, наверное надо создавать новый элемент, когда вновь принимаешь сотрудника... ну в камине не в курсе как
|
|||
14
GreenDay1986
07.11.11
✎
16:43
|
Так в этом и сложность, народ увольняется и принимается по нескольку раз одни и те же, для того и группирую, все группируется, ток в датах 12 везде первое число, а месяц и год нормально выводятся. Как обойти чтот не знаю пока :(
|
|||
15
GreenDay1986
08.11.11
✎
09:11
|
Спасибо народ! Сделал! :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |