Aqui esta mi consulta
Código:
ALTER PROCEDURE [dbo].[sp_Comments]
--Paramtros de nuestro SP separados por comas.
(@ID int)
AS
BEGIN
DECLARE @Names NVARCHAR(MAX)
SET @Names =''
SELECT @Names = @Names + '[' + Nombre + '],'
FROM (SELECT DISTINCT Usuarios.User_Name AS Nombre
FROM Ticket_Approvals INNER JOIN
Usuarios ON Ticket_Approvals.Ticket_Approval_By = Usuarios.User_ID
WHERE Ticket_ID = @ID) dd
--Comprobamos ke la longitud de @Names sea mayor a cero
IF (LEN(@Names)>0)
BEGIN
SET @Names = LEFT(@Names, LEN(@Names) -1)
EXEC ('SELECT * FROM (SELECT Usuarios.User_Name As Nombre, (CASE Ticket_Detail_Approved WHEN ''TRUE'' THEN ''Aprobado'' ELSE ''Rechazado'' END) + ' + ''' - ''' + ' + Ticket_Approval_Reason As Status FROM Ticket_Approvals INNER JOIN Usuarios ON Ticket_Approvals.Ticket_Approval_By = Usuarios.User_ID
WHERE Ticket_ID =' + @ID + ') pvt PIVOT (Max([Status]) FOR [Nombre] IN (' + @Names + ')) AS Child')
END
END
La cual es una implementacion del Pivot Dinamico, eso ya lo vi, ya lo hice, el probla es que yo en ningun ,omento manejo filas o columna con Numeros, todas son texto, por ende, las funciones SUM no me sirven, usando Max solo me regresa una registro, cuando deberian ser 4 por ejemplo.
Mi problema no esta en el Pivot Dinamico, eso esta facil, el problema esta en que mis filas nunca son numericas, no necesito hacer SUM, solo pasar de filas a columnas textos.