|
Дополнительная группировка данных в Pivot
|
|||
---|---|---|---|
#18+
Добрый день, Просьба помочь, как из таблицы вида id_param id_objectabcdefg11110NULLNULLNULLNULLNULLNULL12130NULLNULLNULLNULLNULLNULL32NULLNULL180NULLNULLNULLNULL42NULLNULLNULL150NULLNULLNULL Получить выходную таблицу вида: id_param id_objectabcdefg11110NULLNULLNULLNULLNULLNULL12130NULL180150NULLNULLNULL Т.е сгруппировать данные по id_object Создание: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Скрипт: Код: sql 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.
P.s. на SO помогли, но не до конца. Microsoft SQL Server 2012 - 11.0.2100.60 (X64) Feb 10 2012 19:39:15 Copyright (c) Microsoft Corporation Express Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 17:59 |
|
Дополнительная группировка данных в Pivot
|
|||
---|---|---|---|
#18+
heso Просьба помочь, как из таблицы вида id_param id_objectabcdefg11110NULLNULLNULLNULLNULLNULL12130NULLNULLNULLNULLNULLNULL32NULLNULL180NULLNULLNULLNULL42NULLNULLNULL150NULLNULLNULL Получить выходную таблицу вида: id_param id_objectabcdefg11110NULLNULLNULLNULLNULLNULL12130NULL180150NULLNULLNULL Т.е сгруппировать данные по id_objectА в чём проблема? груп бай по полю id_object, и макс по остальным (возможно, мин по id_param, если не устраивает макс - вы не указали критерий). ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 18:09 |
|
Дополнительная группировка данных в Pivot
|
|||
---|---|---|---|
#18+
alexeyvg, Когда я пытаюсь добавить group by id_object в данный блок: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
То выдает ошибку "Столбец "op.id_param" недопустим в списке выбора, поскольку он не содержится ни в агрегатной функции, ни в предложении GROUP BY." ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 18:15 |
|
Дополнительная группировка данных в Pivot
|
|||
---|---|---|---|
#18+
heso Когда я пытаюсь добавить group by id_object в данный блок: И не забыть сделать ещё одну переменную, как @names, только с описанием MAX(поле) as поле ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 18:24 |
|
Дополнительная группировка данных в Pivot
|
|||
---|---|---|---|
#18+
heso, Примерно так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Можно будет уточнить, когда расскажите каким должен быть id_param в результате. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 18:43 |
|
Дополнительная группировка данных в Pivot
|
|||
---|---|---|---|
#18+
invm, Спасибо, работает. В данном случае id_param Не имеет значения. В итоговой таблице его можно отбросить. (т.е SELECT id_param, id_object, ' + @names + '). Пошел курить мануалы, чтобы понять, каким образом в данном примере работает MIN() OVER (PARTITION BY ()). alexeyvg, попробовал..может слишком в лоб: Код: sql 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.
Выскакивает аналогичная ошибка. Не очень понял по поводу создания еще одной переменной. Для каких целей? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:08 |
|
Дополнительная группировка данных в Pivot
|
|||
---|---|---|---|
#18+
heso В итоговой таблице его можно отбросить Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:11 |
|
|
start [/forum/moderation_log.php?user_name=Vne]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 745ms |
total: | 890ms |
0 / 0 |