|
|
|
Добавить новые значения, отсортировнные по id между старых значений, отсортированных по id
|
|||
|---|---|---|---|
|
#18+
Добрый день! Подскажите, пожалуйста, по следующему вопросу... В табличке есть список стран в поле NAME и есть порядковый номер стран в поле ORDER_NUM c шагом 10 (Австралия 10, АВСТРИЯ 20...Багамы 90....). Если отсортировать по порядковому номеру, то страны будут отсортированы по алфавиту. Есть список новых стран в отдельной вьюхе и их нужно добавить в данную табличку, чтобы при сортировке по ORDER_NUM - всё шло по алфавиту, при этом не затирая старые ORDER_NUM. Идея была как то вставить новые значения ORDER_NUM между шагов, к примеру между 10 и 20 (11, 12...), 20 и 30 (21, 22...). По идее этого шага должно хватить, может можно как то сделать дробный шаг? Пока я сделал UNION между табличкой и вьюхой и отсортировал страны следующим образом: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Вывод прилагаю. Где нужно проставить ROW_NUM - здесь пока NULL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2018, 18:58 |
|
||
|
Добавить новые значения, отсортировнные по id между старых значений, отсортированных по id
|
|||
|---|---|---|---|
|
#18+
num + v/1000 не вариант? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2018, 19:33 |
|
||
|
Добавить новые значения, отсортировнные по id между старых значений, отсортированных по id
|
|||
|---|---|---|---|
|
#18+
zorlo, Сделай мердж из юниона с апдейтом на роу_нумбер×10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2018, 19:55 |
|
||
|
Добавить новые значения, отсортировнные по id между старых значений, отсортированных по id
|
|||
|---|---|---|---|
|
#18+
zorlo, Если не учитывать того, что у вас в примере "Андора" имеет меньше номер, чем "Ангола", то возможно пригодится следующий пример: Код: 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. Результат: VCOUNTRY_NAMENUM1АВСТРАЛИЯ10002АВСТРИЯ20003АЗЕРБАЙДЖАН30004АЛБАНИЯ30015АЛЖИР30026АМЕРИКАНСКОЕ САМОА30037АНГИЛЬЯ30048АНГОЛА50009АНДОРРА400010АНТИГУА И БАРБУДА400111АРГЕНТИНА600012АРМЕНИЯ700013АРУБА8000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 01:58 |
|
||
|
Добавить новые значения, отсортировнные по id между старых значений, отсортированных по id
|
|||
|---|---|---|---|
|
#18+
Cntmdll, Пример хороший! Но нужно, чтобы где проставлено 10, 20, 30 ... - они оставались не изменными. В примере получается, что они меняются 1000, 2000, 3000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 11:06 |
|
||
|
Добавить новые значения, отсортировнные по id между старых значений, отсортированных по id
|
|||
|---|---|---|---|
|
#18+
zorlo, проще наверное с использованим start_of_group попробол через firstr/last_falue Код: 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. ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 12:59 |
|
||
|
Добавить новые значения, отсортировнные по id между старых значений, отсортированных по id
|
|||
|---|---|---|---|
|
#18+
zorlo, Что вы будете делать, если строк без значений будет больше 9? В таком случае будет наложение на последующие строки из первой таблицы: 10, 11, 12, 20, 21, ... 28, 29, 30, 31, 32, 30, 31, 32 , 40, 41 ... А так достаточно не умножать существующие строки с номерами на 100. И всё же хорошо было бы выверить существующий порядок строк в первой таблице. Сейчас у вас возрастание номеров не совпадает с порядком по алфавиту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 13:53 |
|
||
|
Добавить новые значения, отсортировнные по id между старых значений, отсортированных по id
|
|||
|---|---|---|---|
|
#18+
Cntmdll, ORDER_NUM дробные поправил, если добавлять в начало/конец списка Код: 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. 53. 54. 55. 56. 57. ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 15:47 |
|
||
|
Добавить новые значения, отсортировнные по id между старых значений, отсортированных по id
|
|||
|---|---|---|---|
|
#18+
Stax, А зачем так много текста? или я что-то не понял или хватит и такого (т.е. у автора есть 80% запроса, ну и добавить 2 строчки) Код: 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. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2018, 13:21 |
|
||
|
Добавить новые значения, отсортировнные по id между старых значений, отсортированных по id
|
|||
|---|---|---|---|
|
#18+
MaximaXXLStax, А зачем так много текста? или я что-то не понял или хватит и такого (т.е. у автора есть 80% запроса, ну и добавить 2 строчки) вставте данные 2 (несколько) раз Код: 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. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. ps я сразу написал что возможно со старт-оф-гроуп будет проще .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2018, 08:47 |
|
||
|
Добавить новые значения, отсортировнные по id между старых значений, отсортированных по id
|
|||
|---|---|---|---|
|
#18+
Stax, Спасибо большое! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2018, 11:48 |
|
||
|
Добавить новые значения, отсортировнные по id между старых значений, отсортированных по id
|
|||
|---|---|---|---|
|
#18+
zorlo, Все решения помогли! Спасибо огромное всем за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2018, 11:49 |
|
||
|
Добавить новые значения, отсортировнные по id между старых значений, отсортированных по id
|
|||
|---|---|---|---|
|
#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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2018, 15:32 |
|
||
|
Добавить новые значения, отсортировнные по id между старых значений, отсортированных по id
|
|||
|---|---|---|---|
|
#18+
SkilledJunior, и не говори, понапридумывали тут Код: plsql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2018, 15:56 |
|
||
|
Добавить новые значения, отсортировнные по id между старых значений, отсортированных по id
|
|||
|---|---|---|---|
|
#18+
envи не говори, понапридумывали тут Автор в курсе что у него максимум 9 стран можно вставить между соседними при условии что num целое, можно подредактировать: Код: 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. Что делать с минусовыми пусть сам придумывает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2018, 21:25 |
|
||
|
|

start [/forum/topic.php?fid=52&gotonew=1&tid=1883280]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
146ms |
get topic data: |
5ms |
get first new msg: |
4ms |
get forum data: |
1ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 404ms |

| 0 / 0 |
