|
хитрый запрос
|
|||
---|---|---|---|
#18+
Привет всем! Появился одна небольшая проблема с формированием запроса , без использования VBA нужно. Частично нашел решение, но дальше мысль не пошла. В общем представим что есть небольшая табличка, в которой ведется учет выдачи прав. С полями ФИО, ДатаВыдачи, НомерУдостов . Один и тот же человек может менять права несколько раз, причем последние могут оказаться действующими и не закрытыми. Запрос должен выводить следующие значения полей: ФИО, НомерУдостоверения, действуетС, действуетПО. По каждой последней выдаче в рамках ФИО должно выводится "действительны на текущий момент" Стал раскручивать логику и немного запутался, вот что есть на текущий момент: Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2018, 18:41 |
|
хитрый запрос
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2018, 19:07 |
|
хитрый запрос
|
|||
---|---|---|---|
#18+
__Michelle, Отлично, спасибо за вариант, NZ в самую точку! А я полез уже было в IIF и ISnull ) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2018, 19:16 |
|
хитрый запрос
|
|||
---|---|---|---|
#18+
У действующего удостоверения поле "действуетПО" пустое и пользовательская функция с Dlookup отберет для конкретного работника удостоверение с пустым полем (действующее) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2018, 19:49 |
|
хитрый запрос
|
|||
---|---|---|---|
#18+
Сергей Лалов, Только, наверное, нужно чуть подправить, чтобы даты действуетПО и действуетС для двух последовательных выдач не были равны. То есть, день действуетПО должен быть на единицу меньше следующей даты действуетС. Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2018, 19:51 |
|
хитрый запрос
|
|||
---|---|---|---|
#18+
sdkuУ действующего удостоверения поле "действуетПО" пустоеТакого поля просто нет. Совсем. Для любого удостоверения. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2018, 19:56 |
|
хитрый запрос
|
|||
---|---|---|---|
#18+
__Michelle, Ну это если мы берем настоящие права, так то да, если продолжать логику, то можно написать запрос с учетом этого и с проверкой, что они должны выдаваться новые раз в 10 лет. Либо если утеряны и выданы раньше, выводить дополнительную информацию в комментарий. Вы правы, спасибо) Мне в данном случае просто пример запроса к предыдущим строкам понадобился. Ваш первый вариант выводит всё что нужно,спс) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2018, 20:06 |
|
хитрый запрос
|
|||
---|---|---|---|
#18+
__MichellesdkuУ действующего удостоверения поле "действуетПО" пустоеТакого поля просто нет. Совсем. Для любого удостоверения.Вопрос ТСу: как узнать дату выдачи (продления срока действия)если не хранить в БД эти данные ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2018, 00:25 |
|
хитрый запрос
|
|||
---|---|---|---|
#18+
sdkuВопрос ТСу: как узнать дату выдачи (продления срока действия)если не хранить в БД эти данные ??? В смысле как узнать дату выдачи?) Дата выдачи есть в таблице, на основании которой мы и делаем запрос. В первом сообщении от меня в данном топике ,в постановке задачи: .. В общем представим что есть небольшая табличка, в которой ведется учет выдачи прав. С полями ФИО, ДатаВыдачи, НомерУдостов.. Уже разобрались, спасибо, помогли) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2018, 01:11 |
|
|
start [/forum/topic.php?fid=45&msg=39597737&tid=1611722]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 146ms |
0 / 0 |