|
|
|
Select "одно ко многим" и удаление дублей.
|
|||
|---|---|---|---|
|
#18+
Есть две таблицы с данными. Первая таблица - Товар Вторая таблица - Движение товара. Если связать данные таблицы, то получается выборка в которой одна строка товара может повторяться несколько раз подряд, например: Томаты50Тула МоскваТоматы10Тула ОрелТоматы5Тула ОмскОгурцы10Тула ТверьЯблоки10ТулаМосква Можно ли в Oracle при помощи select сделать такой запрос, чтобы дубли не отображались, а была только первая строка? Томаты50Тула МоскваТоматы50Тула Москва10Тула Орел5Тула ОмскОгурцы10Тула ТверьЯблоки10ТулаМосква И как вообще такое сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 16:43 |
|
||
|
Select "одно ко многим" и удаление дублей.
|
|||
|---|---|---|---|
|
#18+
ЗурбаганМожно ли в Oracle при помощи select сделать такой запрос, чтобы дубли не отображались, а была только первая строка?Можно, но не нужно. Это нужно делать на клиенте / в отчёте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 16:46 |
|
||
|
Select "одно ко многим" и удаление дублей.
|
|||
|---|---|---|---|
|
#18+
Elic, Каким образом на клиенте? При помощи обработчика, каждую строку анализируя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 16:48 |
|
||
|
Select "одно ко многим" и удаление дублей.
|
|||
|---|---|---|---|
|
#18+
ЗурбаганКаким образом на клиенте? При помощи обработчика, каждую строку анализируя?Это стандартная функция отчётника. Например, RTFM BREAK (FAQ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 16:51 |
|
||
|
Select "одно ко многим" и удаление дублей.
|
|||
|---|---|---|---|
|
#18+
ЗурбаганКаким образом на клиенте?А в sql каким образом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 16:52 |
|
||
|
Select "одно ко многим" и удаление дублей.
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 16:56 |
|
||
|
Select "одно ко многим" и удаление дублей.
|
|||
|---|---|---|---|
|
#18+
ЗурбаганЕсть две таблицы с данными. Первая таблица - Товар Вторая таблица - Движение товара. Если связать данные таблицы, то получается выборка в которой одна строка товара может повторяться несколько раз подряд, например: Томаты50Тула МоскваТоматы10Тула ОрелТоматы5Тула ОмскОгурцы10Тула ТверьЯблоки10ТулаМосква Можно ли в Oracle при помощи select сделать такой запрос, чтобы дубли не отображались, а была только первая строка? Томаты50Тула МоскваТоматы50Тула Москва10Тула Орел5Тула ОмскОгурцы10Тула ТверьЯблоки10ТулаМосква И как вообще такое сделать? Для начала сделать подзапрос, в котором оконной функцией перенумеровать строки по сочетанию "номенклатура" - "город отправки" - "город приемки" и по убыванию штук. Чтобы для 50 было 1, для 10 - 2, для 5 - 3, затем для 10 огурцов - 1 и затем для 10 яблок - 1. После этого запросом поверх первого запроса сделать select case when order_virtual_number = 1 then real_string_of_tovar else '' end as real_string_of_tovar, count_of_string_tovar, city_from, city_to from (select ..... from table) И в столбце "Номенклатура" у Вас пойдет или реальное название для одной из строк, или пустота (но не NULL, а строка с нулевой длиной). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 16:56 |
|
||
|
Select "одно ко многим" и удаление дублей.
|
|||
|---|---|---|---|
|
#18+
Зурбаган, Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 16:57 |
|
||
|
Select "одно ко многим" и удаление дублей.
|
|||
|---|---|---|---|
|
#18+
SY, Не "over(partition by tbl.tovar ", а "over(partiont by tbl.tovar, tbl.city_from, tbl.city_to"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 16:58 |
|
||
|
Select "одно ко многим" и удаление дублей.
|
|||
|---|---|---|---|
|
#18+
SY, Приношу свои извинения - Вы правы, partition в данном случае только по номенклатуре. Вчитался внимательнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 16:59 |
|
||
|
Select "одно ко многим" и удаление дублей.
|
|||
|---|---|---|---|
|
#18+
SY Код: plsql 1. Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 17:00 |
|
||
|
Select "одно ко многим" и удаление дублей.
|
|||
|---|---|---|---|
|
#18+
IMHO LAG + DECODE. Даже вложенные запросы не нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 17:01 |
|
||
|
Select "одно ко многим" и удаление дублей.
|
|||
|---|---|---|---|
|
#18+
Andy_OLAPSY, Не "over(partition by tbl.tovar ", а "over(partiont by tbl.tovar, tbl.city_from, tbl.city_to"... Да ну? Код: 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. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 17:04 |
|
||
|
Select "одно ко многим" и удаление дублей.
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevIMHO LAG + DECODE. Даже вложенные запросы не нужны.А decode зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 17:04 |
|
||
|
Select "одно ко многим" и удаление дублей.
|
|||
|---|---|---|---|
|
#18+
А как без него (или case) повторяющиеся значения на null заменить? p.s. не сильно знаю аналитику, т.ч. ногами больно не пинать ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 17:07 |
|
||
|
Select "одно ко многим" и удаление дублей.
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevА как без негоSTFF lag(null ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 17:11 |
|
||
|
Select "одно ко многим" и удаление дублей.
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, Код: 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. ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 17:51 |
|
||
|
Select "одно ко многим" и удаление дублей.
|
|||
|---|---|---|---|
|
#18+
Stax, ой Код: plsql 1. 2. 3. 4. 5. 6. .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 17:53 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39757425&tid=1882954]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
150ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 456ms |

| 0 / 0 |
