|
|
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. Но проблема в том что в один день один человек перевелся на 2 разные местоположения работы , но так я тут использую Код: plsql 1. то естественно одна строка теряется , уже голову сломал как можно исправить . Буду признателен за любой хинт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 11:39 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
Цель : вывести всех информацию о рабочих за определенный месяц ( в данном случае февраль) -Имя -Фамилия -Настоящее место работы -Настоящяя должность -Предыдущая место работы -Предыдущая должность -Дата изменений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 11:45 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
user2002, Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 11:51 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
merch, Зачем пытаетесь запустить его у себя ? Естественно он вам выдаст что у вас нет таблиц , но у меня они есть . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 11:54 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
user2002за любой хинт.rank/dense_rank = 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 11:59 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
Elic, Есть такое , спасибо пошел читать . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 12:14 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
user2002Но проблема в том что в один день один человек перевелся на 2 разные местоположения работы , но так я тут использую Код: plsql 1. то естественно одна строка теряется , уже голову сломал как можно исправить . Буду признателен за любой хинт. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 12:15 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
Dshedoouser2002Но проблема в том что в один день один человек перевелся на 2 разные местоположения работы , но так я тут использую Код: plsql 1. то естественно одна строка теряется , уже голову сломал как можно исправить . Буду признателен за любой хинт. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. Немного не понимаю как это должно работать , вручную прописывать место работы ? ТОгда не вариант , там очень много строк . RANK() неплохой способ но нужно еще как-то внедрить его тут . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 12:38 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
user2002RANK() неплохой способ но нужно еще как-то внедрить его тут .Потерпи какое-то время. Сейчас Stax придет, покажет тебе несколько примеров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 12:50 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
RANK() тоже не вариант , уж оченб большое количество строк которые запрос должен проверить . я вот думаю в сторону изменений в этом сегменте : Код: plsql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 12:53 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
user2002Немного не понимаюЛучше сначала понять, что для быстрого получения ответа надо проявить минимальное уважение к отвечающим. Вместо публикации полотна, где используются 10 таблиц, свести число таблиц до минимума и показать на конкректных данных что есть и что хочется получить. Хотя, если бы ты это сделал, наверное и вопрос отпал бы сам собой. Мало у кого есть желание ковыряться в чужих портянках, но и такие извращенцы здесь водятся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 12:57 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
dbms_photoshop, Я это все прекрасной понимаю , но в данном случае ( как мне кажется ) лучше предоставить весь запрос для его найлучшего понимания . Вопрос я думаю задан максимально коректно . А на счет уважение , тут вы неправы , уж извините . Я знаю что на это ресурсе сидят очень знающие в этой теме люди . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 13:01 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
user2002, Коррелированный скаляр в коррелированном скаляре выглядит как плод больного воображения. Чтобы понять психопата надо мыслить как психопат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 13:10 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
dbms_photoshop Лучше сначала понять, что для быстрого получения ответа надо проявить минимальное уважение к отвечающим. Вместо публикации полотна, где используются 10 таблиц, свести число таблиц до минимума и показать на конкректных данных что есть и что хочется получить. Хотя, если бы ты это сделал, наверное и вопрос отпал бы сам собой. Мало у кого есть желание ковыряться в чужих портянках, но и такие извращенцы здесь водятся. мой "тонкий" юмор ТС не понял. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 13:16 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
user2002( как мне кажется ) Есть пословица. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 13:30 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
Мне кажется мы немного отошли от моего вопроса , спасибо . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 13:31 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
user2002, Код: plsql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 13:32 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
user2002, Еще интересно что движет людьми, называющим таблицы persons и doljnosts. Почему не persons and positions или ljudi и doljnost, если большая любовь к транслиту? name и naim это все "имя"? а family это фамилия, а не семья? Предполагается, что нормальночу человеку понятны эти маразмы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 13:36 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
Dshedoo, Я не имею информацию какие люди,должности там повторяются в один день . dbms_photoshop, Даже не хочу отвечать на этот вопрос . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 14:04 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
user2002RANK() неплохой способ но нужно еще как-то внедрить его тут . перед внедрением надо еще и понять что хочем/надо получить прикиньте, что человека перевели несколько раз за месяц, как тогда быть с Вашим max(t.dat_nazn16)? даж решите Вы задачку по переходу работников (вывернитесь), так ж наверняка проблемка вылезет напр при расчете отпускных/больничных ... опять же налоги, фонды и тд зыы рассмотрите возможность оформить второй перевод как работу по совместительству зыы Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 14:25 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
Staxприкиньте, что человека перевели несколько раз за месяц, как тогда быть с Вашим max(t.dat_nazn16)? Если одного человека будут переводить чаще чем один раз за день то проблем не будет . Staxперед внедрением надо еще и понять что хочем/надо получить Проблема в том что у меня запрос игнорирует одну или несколько строк . Тут: Код: plsql 1. 2. 3. 4. 5. Я заявляю что в Код: plsql 1. мы будем иметь значения от 01.02.2018-28.02.2018 . Идем дальше .... Тут: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. И вот тут : Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Мы берем тот самый Код: plsql 1. и сравниваем с нашим Код: plsql 1. В конец я получаю необходимые данные но не все , то есть я должен получить 2 строки состоящий из одинаковых значении во всех столбцах , кроме вышеперечисленных Name_Podr_prec и Dolj_prec ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 15:18 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
user2002Staxприкиньте, что человека перевели несколько раз за месяц, как тогда быть с Вашим max(t.dat_nazn16)? Если одного человека будут переводить НЕ чаще чем один раз за день то проблем не будет . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 15:19 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
Разобрался , Stax , вам отдельное спасибо , именно ваш способ помог . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 15:37 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
user2002, еще раз 1) работника (тн 100) за период between to_date('01.02.2018', 'dd.mm.yyyy') and to_date('28.02.2018', 'dd.mm.yyyy') переводили два раза напр 05.02.2018 из цеха 5 в 9 и 15.02.2018 с 9 в 12, Вам надо последний перевод? 2) работника (тн 200) за период between to_date('01.02.2018', 'dd.mm.yyyy') and to_date('28.02.2018', 'dd.mm.yyyy') переводили раз напр 06.02.2018 из цеха 5 в 9 и 20.02.2018 он устроился еще и в 12-й, Вам надо обе даты? покажите как ето будет выглядить в paths user2002 В конец я получаю необходимые данные но не все , то есть я должен получить 2 строки состоящий из одинаковых значении во всех столбцах , кроме вышеперечисленных Name_Podr_prec и Dolj_prec если я правильно понял то Код: plsql 1. 2. 3. 4. 5. должен вернуть не одну запись, и будет Вам счастье ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 15:56 |
|
||
|
Запрос SQL
|
|||
|---|---|---|---|
|
#18+
Stax, Еще раз , Мне нужно 3) Работника (тн100) за период between to_date('01.02.2018', 'dd.mm.yyyy') and to_date('28.02.2018', 'dd.mm.yyyy') переводили два раза : из цеха А в цех Б, а потом обратно , в один день , мне нужны обе записи . Не знаю насколько это правильно но я сделал так : Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Внимание на последнюю строку. Это подСелект , а в главном селекте добавил Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 16:10 |
|
||
|
Запрос 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?all=1&fid=52&tid=1884151]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
61ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 336ms |

| 0 / 0 |
