0

How can I write a vertical table horizontally with sql

  I want to make the following table like the example in the second picture

example

enter image description here

ı want to write

enter image description here

Squirrel
  • 23,507
  • 4
  • 34
  • 32

2 Answers2

0

Try this

DECLARE @Sql nvarchar(max),
        @DynamicColumn nvarchar(max),
        @MaxDynamicColumn nvarchar(max)

SELECT @DynamicColumn = STUFF((SELECT DISTINCT', '+QUOTENAME(CAST(Col1 AS VARCHAR(50)))
FROM #Temp  FOR XML PATH ('')),1,1,'') 
SELECT @DynamicColumn

SET @Sql='SELECT  '+ @DynamicColumn+'
            FROM
            (
            SELECT *
            FROM #Temp   o
            )AS src
            PIVOT 
            (
            MAX(Col2) FOR [Col1] IN ('+@DynamicColumn+')
            ) AS Pvt
             '
EXEC (@Sql)
PRINT @Sql
Sreenu131
  • 2,476
  • 1
  • 7
  • 18
0

Hi if understand your query i think this query can help you to get excepted result :

CREATE TABLE #TEMP (colName varchar(250), colOther varchar(250))

INSERT INTO #TEMP 
SELECT 'Desen', '2908A' UNION ALL 
SELECT 'Desen', '2908A' UNION ALL 
SELECT 'Desen', '2908A' UNION ALL 
SELECT 'Desen', '2908A' UNION ALL 
SELECT 'Ebat', '125x200 R' UNION ALL 
SELECT 'Ebat', '125x200 R' UNION ALL 
SELECT 'Ebat', '125x200 R' UNION ALL 
SELECT 'Ebat', '125x200 R' UNION ALL 
SELECT 'ZeminRengi', 'KEMIK' UNION ALL 
SELECT 'ZeminRengi', 'KEMIK' UNION ALL 
SELECT 'ZeminRengi', 'KEMIK' UNION ALL 
SELECT 'ZeminRengi', 'KEMIK' 


select Desen,Ebat,ZeminRengi
from #TEMP
PIVOT (
    MAX(colOther)
    FOR colName IN (Desen,Ebat,ZeminRengi)) AS Pvt

DROP TABLE #TEMP

See different link and google : Understanding PIVOT function in T-SQL MSDN Google- search

Sanpas
  • 1,170
  • 10
  • 29