|
|
|
Переписать запрос
|
|||
|---|---|---|---|
|
#18+
Есть таблица: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Итого данные: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. А записи с id 5, 6, 7 к другой. Задача при поиске или по f1, или по f2 определить эти сущности, то есть достать все записи. Т.е. запрос к таблице может идти либо по полю f1, либо по полю f2, т.е. два входных параметра, если задан первый по f1, то ищем только по нему. Но, исходя из данных и сути задачи, доставать записи надо бы по цепочке. То есть если ищем по f1 = 12, то помимо записей 1 и 3, надо достать и запись с id = 2 через найденное значение f2 = 77 в первой записи. Например, ищем по f1 = 12, должны получить результат: Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. 4. 5. При этом нельзя использовать ни коннект бай, ни рекурсивный запрос. Пока написал что-то похожее, но можно ли упростить? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2016, 21:11 |
|
||
|
Переписать запрос
|
|||
|---|---|---|---|
|
#18+
Brahmaputr, Код: 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. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2016, 22:04 |
|
||
|
Переписать запрос
|
|||
|---|---|---|---|
|
#18+
SY, смежность id - домыслы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2016, 23:34 |
|
||
|
Переписать запрос
|
|||
|---|---|---|---|
|
#18+
BrahmaputrПри этом нельзя использовать ни коннект бай, ни рекурсивный запрос.огласите весь список! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2016, 00:08 |
|
||
|
Переписать запрос
|
|||
|---|---|---|---|
|
#18+
без рекурсий соси мурсий смежность id - домыслы Ну ежели сам Brahmaputra сказал то видимо так в его ведах записано. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2016, 04:14 |
|
||
|
Переписать запрос
|
|||
|---|---|---|---|
|
#18+
SY, да этот запрос будет работать на этих конкретных данных, но id действительно не последовательны внутри каждого объекта. И таблица большая, то есть делать в запросе изначально над всей таблицей аналитику может быть негуд имхо, еще как вариант, заранее проставить группы (по сути id самих объектов), добавив новое поле в таблицу и заполнять его отдельной процедурой всякий раз при добавлении новых данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2016, 06:11 |
|
||
|
Переписать запрос
|
|||
|---|---|---|---|
|
#18+
Задача усложняется: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Добавили поле f3, которое объединяет описанные выше два объекта в тестовых данных. Задача при поиске по f3 пронумеровать каждый объект по предыдущим условиям задачи, то есть на выходе получить obj_id: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. И как достать данные рекурсивно еще понятно, но как разделить/пронумеровать, не ясно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2016, 08:56 |
|
||
|
Переписать запрос
|
|||
|---|---|---|---|
|
#18+
BrahmaputrМожно использовать рекурсию. И как достать данные рекурсивно еще понятно, но как разделить/пронумеровать, не ясно. Получить множество из связанных пар ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2016, 09:03 |
|
||
|
Переписать запрос
|
|||
|---|---|---|---|
|
#18+
Elic, спасибо, похоже, оно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2016, 09:20 |
|
||
|
Переписать запрос
|
|||
|---|---|---|---|
|
#18+
Brahmaputrда этот запрос будет работать на этих конкретных данных, но id действительно не последовательны внутри каждого объекта. А тому решению по барабану - последовательны или с дырками, главное чтобы увеличивались. BrahmaputrЗадача усложняется. Да ну? Код: 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. Надеюсь F1 уникальный для комбинации F3,F2 a F2 для комбинации F3,F1. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2016, 17:09 |
|
||
|
|

start [/forum/topic.php?fid=52&tid=1887302]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
183ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 191ms |
| total: | 434ms |

| 0 / 0 |
