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

SQL сървърът попълва таблица въз основа на друга таблица с подниз като име на колона

надявам се това да ви помогне

 declare @temp table
 (id1 nvarchar(99), id2 nvarchar(99), value int)
 insert into @temp values ('tyb','uanwe_A',6963)       
 insert into @temp values ('tyb','uanwe_B',979 )      
 insert into @temp values ('tyb','uanwe_C',931 )   

select id1, substring(id2,1, 5) id2, 
        max(case substring(id2,7, 1)
        when 'A' then value  end) vA,
        max(case substring(id2,7, 1)
        when 'B' then value   end) vB,
        max(case substring(id2,7, 1)
        when 'C' then value  end) vC
from @temp GROUP BY id1,substring(id2,1, 5)


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

  2. Изберете, модифицирайте и вмъкнете в същата таблица

  3. Преобразуването е неуспешно при преобразуване на стойността varchar „моята върната стойност“ към тип данни int

  4. Защо UPDATE отнема много повече време от SELECT?

  5. SQL Server - Вложени транзакции в съхранена процедура