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

SQL ve XML

DECLARE @XML XML='<IDLIST><ID VALUE=”00000000-0000-0000-0000-000000000000″/></IDLIST>’ DECLARE @docHandle INT CREATE TABLE #tmp ( ID UNIQUEIDENTIFIER  ) EXEC sp_xml_preparedocument @docHandle OUTPUT, @XML INSERT INTO #tmp SELECT  * FROM OPENXML (@docHandle, ‘/IDLIST/ID’, 1) WITH(VALUE UNIQUEIDENTIFIER) EXEC sp_xml_removedocument @docHandle  

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