|
|
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
user2002Разобрался , Stax , вам отдельное спасибо , именно ваш способ помог . вот и отлично а то я не совсем понимаю как все ето выглядит в paths с из цеха А в цех Б и обратно с Б в А (как отлечить что не наоборот) зы а ведь может быть и тройной перевод с А в Б, из Б в С из С обратно в А ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 16:37 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
Staxuser2002Разобрался , Stax , вам отдельное спасибо , именно ваш способ помог . вот и отлично а то я не совсем понимаю как все ето выглядит в paths с из цеха А в цех Б и обратно с Б в А (как отлечить что не наоборот) зы а ведь может быть и тройной перевод с А в Б, из Б в С из С обратно в А ..... stax Проверить, что не существует строк с большей датой в этой же выборке? Код: plsql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 16:41 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
Staxuser2002Разобрался , Stax , вам отдельное спасибо , именно ваш способ помог . с из цеха А в цех Б и обратно с Б в А (как отлечить что не наоборот) ..... stax Отлечить довольно легко , я вывожу настоящее и прошлое место работы , я писал во втором посте . А помог мне ваш пример : Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 16:54 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
user2002Staxпропущено... с из цеха А в цех Б и обратно с Б в А (как отлечить что не наоборот) ..... stax Отлечить довольно легко , я вывожу настоящее и прошлое место работы , я писал во втором посте . А помог мне ваш пример : Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 17:11 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
user2002Staxпропущено... с из цеха А в цех Б и обратно с Б в А (как отлечить что не наоборот) ..... stax Отлечить довольно легко , я вывожу настоящее и прошлое место работы , я писал во втором посте . А помог мне ваш пример : Уж не знаю как Вы отличаете "настоящее и прошлое" место работы если они произойдут в 1 день? Я так понимаю что если сотрудник не сменил место работы в течении месяца, он в выборку не попадает? По Вашим ответам я смог предположить что вместо rank Вам "удобнее" будет использовать row_number() например как-то так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Таким образом Вы в "главном селекте" будете уже иметь максимальный и предыдущий doljnost_code9 и podr_code23 для дальнейшей работы. Этот подход, я надеюсь, Вас сподвигнет переписать свой селект в удобоваримую форму P.S. пока я читал Ваши поля, у меня кровь пошла из глаз =( это издевательство над обоими языками ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 00:26 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
MaximaXXL, Этот код писал не я , я лишь получил задачу исправить его чтоб он работал как надо . Сам долго разбирался . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 08:34 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
MaximaXXL, а если три раза переводили, что ж тогда r in (1,2,3) ps maxDate всегда >= to_date('01.02.2018', 'dd.mm.yyyy') ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 08:41 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
StaxMaximaXXL, а если три раза переводили, что ж тогда r in (1,2,3) ps maxDate всегда >= to_date('01.02.2018', 'dd.mm.yyyy') ..... stax в селекте просто хотят увидеть последнее место с которого перевели, как я это для себя понял ps maxDate всегда >= to_date('01.02.2018', 'dd.mm.yyyy') - не всегда, если человека не переводили в этом месяце то его данные не попадут в выборку, как и хотел автор используя t.dat_nazn16 between to_date('01.02.2018', 'dd.mm.yyyy') and to_date('28.02.2018', 'dd.mm.yyyy') ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 12:34 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
user2002Цель : вывести всех информацию о рабочих за определенный месяц ( в данном случае февраль) -Имя -Фамилия -Настоящее место работы -Настоящяя должность -Предыдущая место работы -Предыдущая должность -Дата изменений И если это действительно цель .... то мой запрос заполняет почти все поля, для r=1 : -Настоящее место работы, -Настоящяя должность, -Дата изменений для к=2 : -Предыдущая место работы, -Предыдущая должность развернуть в 1 строку и дотянуть имя и фамилию - это не есть проблемма тонкости с: будет ли запись с датой месяца в таблице если человека не переводили, ну тут надо смотреть как данные хранят. Может и надо будет убрать and maxDate >= to_date('01.02.2018', 'dd.mm.yyyy') но это будет изменение существующего запроса ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 12:57 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39628840&tid=1884151]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
22ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 279ms |

| 0 / 0 |
