|
|
|
Запрос с ЛГБТ связью
|
|||
|---|---|---|---|
|
#18+
Доброго дня господа ! Подскажите возможно ли соорудить запрос (не могу сформулировать условие для связи) К T1 присоединяем (left join) ОДНУ ЗАПИСЬ из T2 образуя результат отраженный в T3 Логика связи Часть первая - первое минимально значение от списка значений T1.F1>T2.F2 (Min(T2.F2)) Часть вторая - запись из T2, которая НЕ ВОСТРЕБОВАНА !!!! предидущей записью T1 Пример T1.F1=10 - Min запись из списка > T2.F2 (12,14,20,24,25,26,28,29) Выбрать 12 (запись T2.F2= 12 не востребована ранее) T1.F1=15 - Min запись из списка > T2.F2 ( 20,24,25,26,28,29) Выбрать 20 (запись 20 НЕ востребована записью T1.F1=10) T1.F1=16 - Min запись из списка > T2.F2 ( 20,24,25,26,28,29) Выбрать 24 (запись 20 УЖЕ востребована записью T1.F1=15) T1.F1=18 - Min запись из списка > T2.F2 ( 20,24,25,26,28,29) Выбрать 25 (запись 20|24 УЖЕ востребов записью T1.F1=15|16) T1.F1=27 - Min запись из списка > T2.F2 ( 28,29) Выбрать 28(запись 28 НЕ востребована ранее ) T1.F1=30 - Min запись из списка > T2.F2 ( <список пуст>) Выбрать Null Код: 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. Заранее благодарен ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2018, 22:34 |
|
||
|
Запрос с ЛГБТ связью
|
|||
|---|---|---|---|
|
#18+
HOME_X, Подправляю, ошибся ! Логика связи Часть первая - первое минимально значение от списка значений T1.F1 < T2.F2 (Min(T2.F2)) Часть вторая - запись из T2, которая НЕ ВОСТРЕБОВАНА !!!! предидущей записью T1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2018, 22:38 |
|
||
|
Запрос с ЛГБТ связью
|
|||
|---|---|---|---|
|
#18+
Вообще это вариация алгоритма sort-merge join. Проще всего, наверное, на pl/sql: Код: 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. 63. 64. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2018, 01:40 |
|
||
|
Запрос с ЛГБТ связью
|
|||
|---|---|---|---|
|
#18+
HOME_X, Интересует SQL-баловство или PL/SQL алгоритм? Код: 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. Здесь минус то, что при каждом вычислении рекурсивного члена выполняется полное сканирование T1 и полное сканирование T2. Впрочем, если создать индексы (и в t1 ходить через cross apply/lateral), то этого можно избежать. На PL/SQL решается линейным проходом обеих таблиц без всяких индексов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2018, 01:50 |
|
||
|
Запрос с ЛГБТ связью
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopесли создать индексы (и в t1 ходить через cross apply/lateral), то этого можно избежать Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2018, 02:07 |
|
||
|
Запрос с ЛГБТ связью
|
|||
|---|---|---|---|
|
#18+
Интересно, а нужно ли Джуджу именно такое попадание в поисковики благодаря таким тупым совпенкам? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2018, 07:41 |
|
||
|
Запрос с ЛГБТ связью
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2018, 10:32 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39681785&tid=1883663]: |
0ms |
get settings: |
9ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 260ms |
| total: | 357ms |

| 0 / 0 |
