Kod Kütüphanem ama elime ne gelirse burada dursun diye…

Dinamik Pivot Sütunlar SQL Server

DECLARE @cols AS NVARCHAR(MAX);
DECLARE @query AS NVARCHAR(MAX);

select @cols = STUFF((SELECT distinct ',' +
                        QUOTENAME(Name)
                      FROM property
                      FOR XML PATH(''), TYPE
                     ).value('.', 'NVARCHAR(MAX)') 
                        , 1, 1, '');

SELECT @query =

'SELECT *
FROM
(
  SELECT
    o.object_id,
    p.Name,
    o.value
  FROM propertyObjects AS o
  INNER JOIN property AS p ON o.Property_Id = p.Id
) AS t
PIVOT 
(
  MAX(value) 
  FOR Name IN( ' + @cols + ' )' +
' ) AS p ; ';

 execute(@query);

Kaynak: Stackoverflow

Related articles

STUFF ile istenilen alana ait değerleri “,” ile bir araya getirme

SELECT T2.FieldSomething, STUFF(( SELECT ‘,’ T1.Field FROM Table1 T1 WHERE T1.IDField =T2.IDField ORDER BY T1.Field FOR XML PATH(”) ), 1, 1, ”) AS FieldName FROM Table2 T2  

Learn More

TSQL Boş Guid

SELECT  CAST(CAST(0 AS BINARY) AS UNIQUEIDENTIFIER)  

Learn More

SELECT yapısı içinde Önceki ve Sonraki Kayıt

SELECT LAG(p.FirstName) OVER (ORDER BY p.BusinessEntityID) PreviousValue, p.FirstName, LEAD(p.FirstName) OVER (ORDER BY p.BusinessEntityID) NextValue FROM Person.Person p       Kaynak: sqlauthority.com

Learn More

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir