Isso provavelmente é muito básico, mas tenho lutado para descobrir. Eu olhei em volta, mas não consegui encontrar nenhum problema semelhante. Estou usando o SQL Server 2008 R2
Eu tenho uma visão:
ID | VALUE
1 | 151;181;179;185;160;187
2 | 185;160
3 | 151;181;179;185;150
4 | 185;160;187
5 | 187
Eu quero uma instrução select para produzir estes resultados:
ID | VALUE
1 | 1043
2 | 345
3 | 846
4 | 532
5 | 187
Este definitivamente não é um bom modelo de dados.
Se você está preso a isso, você pode usar
Demonstração on-line
Provavelmente, a melhor maneira de fazer isso é usar uma função para manipular a divisão da string, juntamente com uma aplicação cruzada e agrupar por para resumir os dados para retorno.
A função referenciada é de uma extensa série sobre divisão e desempenho de string disponível em https://sqlperformance.com/2012/07/t-sql-queries/split-strings