|
|
|
Группировка(склеивание) значений одной группы
|
|||
|---|---|---|---|
|
#18+
Добрый день. Есть запрос, который выдает вот такие результаты 1005667402 21100 1225 21100 300 1005667402 21100 1225 21100 925 Как можно сделать так, чтобы он группировал определенные столбцы, если там значения одинаковые? Примерно вот так чтобы выглядело 1005667402 21100 1225 21100 300 -------------- ------- ------ 21100 925 где ----- это пустое значение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 17:34 |
|
||
|
Группировка(склеивание) значений одной группы
|
|||
|---|---|---|---|
|
#18+
Это следует делать на стороне приложения. STFF lag(null ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 17:58 |
|
||
|
Группировка(склеивание) значений одной группы
|
|||
|---|---|---|---|
|
#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. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 18:06 |
|
||
|
Группировка(склеивание) значений одной группы
|
|||
|---|---|---|---|
|
#18+
Соломон, lag самодостаточен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 18:21 |
|
||
|
Группировка(склеивание) значений одной группы
|
|||
|---|---|---|---|
|
#18+
ElicСоломон, lag самодостаточен. Не понял. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 18:24 |
|
||
|
Группировка(склеивание) значений одной группы
|
|||
|---|---|---|---|
|
#18+
SYElicСоломон, lag самодостаточен.Не понял.А по ссылкам походить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 18:29 |
|
||
|
Группировка(склеивание) значений одной группы
|
|||
|---|---|---|---|
|
#18+
SYElicСоломон, lag самодостаточен. Не понял. SY. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 18:51 |
|
||
|
Группировка(склеивание) значений одной группы
|
|||
|---|---|---|---|
|
#18+
ElicА по ссылкам походить? Прошелся. C LAG(NULL - буковок меньше, но вот эффективность хужe: Код: 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. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 19:18 |
|
||
|
Группировка(склеивание) значений одной группы
|
|||
|---|---|---|---|
|
#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. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 19:30 |
|
||
|
Группировка(склеивание) значений одной группы
|
|||
|---|---|---|---|
|
#18+
SYДа и результат при наличии полных дублей: С этим разобрался: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Что и проблему window sort решило: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Так-что да, решение LAG(NULL от Elica лучше. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 19:53 |
|
||
|
Группировка(склеивание) значений одной группы
|
|||
|---|---|---|---|
|
#18+
Спасибо, lag(null помог Если не сложно, то подскажите еще пожалуйста как можно решить вот такой вопрос. Есть запрос, который выводит значения кодов и сумм из одной таблицы , и значения кодов и сумм из другой в рамках одного документа при условии, что не равны коды, или не равны суммы в документах(т.е на основании документа делается операция в одной таблице, а потом на основании этого же документа делается операция в другой таблице, и нужно искать расхождения,если таковые есть) Пример: 1007153595 21400 25209,95 21400 15165,42 --коды равны, но суммы не равны 1007153595 21401 1422,58 21400 1422,58 --коды не равны,но суммы равны Но бывают ситуации, когда в одной таблице данных больше чем в других(т.е в одной таблице по документу сделали операцию, а в другой таблице нет).И получаются данные вида 1007153595 21400 25209,95 21400 15165,42 --коды равны, но суммы не равны 1007153595 21401 1422,58 21400 1422,58 --коды не равны,но суммы равны 1007153595 35040 25200 --данные для 4 и 5 столбца брать неоткуда При проверка условия получается что последняя запись попадает и под первое условия(когда коды равны, но суммы не равны) и под второе(когда коды не равны, но суммы равны) и сравнивает свои значения в рамках одного документа с другими записями и выводит лишнее Как можно дополнить условие проверки, чтобы если в рамках документа нету соответствия ни по сумме,ни по коду,то выводить к примеру NULL Т.е вот так 1007153595 21400 25209,95 21400 15165,42 --коды равны, но суммы не равны 1007153595 21401 1422,58 21400 1422,58 --коды не равны,но суммы равны 1007153595 35040 25200 Null Null --данные для 4 и 5 столбца брать неоткуда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 11:57 |
|
||
|
Группировка(склеивание) значений одной группы
|
|||
|---|---|---|---|
|
#18+
Up ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 15:57 |
|
||
|
Группировка(склеивание) значений одной группы
|
|||
|---|---|---|---|
|
#18+
MegaDragКак можно дополнить условие проверкиЧтобы что-нибудь дополнить, чудило, надо это самое что-нибудь иметь. http://www.bugtraq.ru/forum/faq/general/smart-questions.html] RTFM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 16:01 |
|
||
|
Группировка(склеивание) значений одной группы
|
|||
|---|---|---|---|
|
#18+
Вот код select oa.docassoc as Classified_pp,ct.code as Kod_VO_UZVO,cc.amount as Summa_UZVO ,ctt.code as Kov_VO_402, cb.amount as Summa_402 from objassoc oa,doctree dt, controlmain cm, currencytransaction ct,controlcurrency cc, cb_f402 cb, currencytransaction ctt where oa.assoc=dt.classified and oa.obj=cm.doc and oa.assoc=1007153595 and cm.vocode=ct.classified and cb.vocode=ctt.classified and oa.obj=cc.doc and cc.linktype=1 and oa.assoc=cb.doc and dt.docstate=1000000035 and ct.code is not null and ct.code!=ctt.code And Not Exists (Select 1 From Cb_F402 Cb Where Cb.Amount=cc.Amount and cb.VoCode =Cm.VoCode and cb.Doc=Dt.Classified ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 16:57 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=191&tid=1887048]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 385ms |

| 0 / 0 |
