Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL за анализиране на низ ключ-стойност

Ако успеете да поставите данните си във формат с една двойка ключ/стойност на ред, значи голяма част от работата е свършена. Нека нарека този резултат t . Нещо подобно може да ви донесе останалата част от пътя:

select max(case when LEFT(data, 4) = 'key1' then SUBSTRING(data, 6, len(data)) end) as key1,
       MAX(case when LEFT(data, 4) = 'key2' then SUBSTRING(data, 6, len(data)) end) as key2,
       MAX(case when LEFT(data, 4) = 'key2' then SUBSTRING(data, 6, len(data)) end) as key3
from t
group by (id - 1)/3

Това предполага, че id се присвоява последователно, както е показано във вашия пример.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Преобразуване на резултатите от колона в един ред

  2. SQL Server PIVOT може би?

  3. Как да получите резултати от множество таблици на съхранена процедура с помощта на SimpleJDBCCall през пролетта?

  4. SQL съхранените процедури не завършват при извикване от Python

  5. Избор на процесор за SQL Server 2012