Aqui un ejemplo de pivot tables:
Código SQL:
Ver originalCREATE TABLE #temp
(
pointid INT,
lanid INT,
thelabel VARCHAR(30),
datatime datetime,
datavalue VARCHAR(10),
theunits VARCHAR(10),
Expr1 VARCHAR(10)
)
INSERT INTO #temp VALUES (580,8,'Hotel Columbus','10/07/2011 11:00','49,21','DegC','TEP01')
INSERT INTO #temp VALUES (581,9,'Hotel Columbus2','10/08/2011 11:00','49,21','DegC2','TEP02')
INSERT INTO #temp VALUES (581,9,'Hotel Columbus3','10/08/2011 11:00','49,21','DegC2','TEP03')
SELECT * FROM #temp
SELECT pointid,lanid,thelabel,datatime,datavalue,theunits,[TEP01],[TEP02],[TEP03]
FROM
(
SELECT Expr1,pointid,lanid,thelabel,datatime,datavalue,theunits FROM #temp
) AS SOURCE
pivot
(
MAX(Expr1) FOR Expr1 IN ([TEP01],[TEP02],[TEP03])
) AS pvt
Si te fijas en el primer select el normal despliega la informacion en filas(resultados para tepo1,tepo2 y tepo3) y en el segundo usando pivot tables lo despliega en columnas :), basate en este ejemplo para obtener lo que necesitas, si observas bien veras y leeras(en internet) que la tabla pivote necesita una funcion de agregado para poder ser usada(en este caso max para que no afecte el resultado).
Mas ejemplos:
http://blogs.msdn.com/b/spike/archiv...le-sample.aspx http://blog.sqlauthority.com/2008/05...table-example/ http://geeks.ms/blogs/ozonicco/archi...rver-2005.aspx
Saludos!