|
Как объединить массивы без повторений в SQL Server?
|
|||
---|---|---|---|
#18+
В приложении надо из исходного набора данных получить новый набор, где типы это один массив значений без повторений. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 15:55 |
|
Как объединить массивы без повторений в SQL Server?
|
|||
---|---|---|---|
#18+
В SQL Server нет массивов Нормализуйте данные, и тогда подобные задачи будут решаться значительно проще. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 15:59 |
|
Как объединить массивы без повторений в SQL Server?
|
|||
---|---|---|---|
#18+
msLex В SQL Server нет массивов Нормализуйте данные, и тогда подобные задачи будут решаться значительно проще. Не получится. База не наша. Если нельзя через SQL Server, то как можно? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 16:00 |
|
Как объединить массивы без повторений в SQL Server?
|
|||
---|---|---|---|
#18+
распарсить исходный набор на уникальные значения типов, пересобрать заново вопрос только зачем так мучаться? и как часто понадобиться этим ужасом заниматься? но это изврат если честно ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 16:03 |
|
Как объединить массивы без повторений в SQL Server?
|
|||
---|---|---|---|
#18+
MoonRabbit распарсить исходный набор на уникальные значения типов, пересобрать заново вопрос только зачем так мучаться? и как часто понадобиться этим ужасом заниматься? но это изврат если честно Каждый час процедура будет запускаться. Работаем с тем что есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 16:09 |
|
Как объединить массивы без повторений в SQL Server?
|
|||
---|---|---|---|
#18+
vv388 MoonRabbit распарсить исходный набор на уникальные значения типов, пересобрать заново вопрос только зачем так мучаться? и как часто понадобиться этим ужасом заниматься? но это изврат если честно Каждый час процедура будет запускаться. Работаем с тем что есть. ну тогда пишите процедуру, где сперва распарсиваете поле Types и получаете набор Id City Types 1 City1 Types1 2 City1 Types2 3 City1 Types1 4 City2 Types3 потом собираете уникальные значения из этого набора и группируйте обратно в Id City Types 1 City1 Types1, Types2, Types3 2 City2 Types1, Types2 вешайте процедуру на job про парсинг строки можно тут посмотреть: https://www.sql.ru/forum/953537/kak-rasparsit-stroku все равно кошмар какой-то )) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 16:23 |
|
Как объединить массивы без повторений в SQL Server?
|
|||
---|---|---|---|
#18+
vv388 MoonRabbit распарсить исходный набор на уникальные значения типов, пересобрать заново вопрос только зачем так мучаться? и как часто понадобиться этим ужасом заниматься? но это изврат если честно Каждый час процедура будет запускаться. Работаем с тем что есть. ну как-то так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 16:37 |
|
Как объединить массивы без повторений в SQL Server?
|
|||
---|---|---|---|
#18+
Имо проще передать такой набор в его родную среду, т.к. написать CLR функцию, которая выполнит нужную обработку. Но это изврат полный. В базе надо хранить реляционные данные. Если что-то помещает вот это в базу, то вы должны построить ETL процесс, которые преобразует эту кашу в нормализованные таблицы. Затем вы должны выполнить запрос и вернуть эту пользователю нужный ему набор строк. То есть "Результат должен быть таким" должно появляться только при запросе данных из базы. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 17:13 |
|
Как объединить массивы без повторений в SQL Server?
|
|||
---|---|---|---|
#18+
komrad vv388 пропущено... Каждый час процедура будет запускаться. Работаем с тем что есть. ну как-то так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Спасибо! То что нужно! ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 17:35 |
|
Как объединить массивы без повторений в SQL Server?
|
|||
---|---|---|---|
#18+
У него Types колонка типа Json, содержащая массив строк мой вариант запроса: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 18:42 |
|
Как объединить массивы без повторений в SQL Server?
|
|||
---|---|---|---|
#18+
Roman Mejtes У него Types колонка типа Json, содержащая массив строк мой вариант запроса: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Спасибо! Тоже красиво правда вот Msg 195, Level 15, State 10, Line 42 'STRING_AGG' is not a recognized built-in function name. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 19:12 |
|
Как объединить массивы без повторений в SQL Server?
|
|||
---|---|---|---|
#18+
vv388 Спасибо! Тоже красиво и раза в 3 быстрее vv388 правда вот Msg 195, Level 15, State 10, Line 42 'STRING_AGG' is not a recognized built-in function name. поддерживается в sql2017+ ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 19:16 |
|
|
start [/forum/topic.php?fid=46&fpage=29&tid=1684877]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 315ms |
total: | 434ms |
0 / 0 |