BEGIN
DECLARE @sqlQuery VARCHAR(MAX)
SET @sqlQuery ='Select Style_Color, Style_Color_Desc as Description,
RPT, Weeks, '
DECLARE @cnt INT = 1
DECLARE @TblCount NVARCHAR(1000) = (SELECT COUNT(ID) FROM table_Name)
WHILE @cnt <= @TblCount
BEGIN
SET @sqlQuery = @sqlQuery + 'max(CASE WHEN Cluster_ID = (Select STORE_ID from Table_Name where id= '+@cnt+')
then CAST(c.APS_Dev as decimal(10,2)) end) as ''APS Dev'' '
SET @cnt = @cnt + 1
END
SET @sqlQuery = @sqlQuery+'
Minimum as Pres_Min From table_Name '
PRINT(@SQLQuery)
END
I am getting error:
Conversion failed when converting the varchar value 'Select Style_Color, Style_Color_Desc as Description,RPT, Weeks, Select STORE_ID from table_name where id= to data type int.
Some times when I do few changes getting this error
Cannot perform an aggregate function on an expression containing an aggregate or a subquery
Could anyone help me how to declare while loop in dynamic query?