Hi experts !
Help required to make a SQL query which retrieves (sample data ) rows data to multiple columns data based on Names and dates.
declare @sql nvarchar(max)
select @sql = isnull(@sql + ',', N'SELECT [Date],') + char(13)
+ N' [Name] = MAX(CASE WHEN [Name] = ''' + [Name] + ''' THEN [Name] END),' + char(13)
+ N' [Net O] = MAX(CASE WHEN [Name] = ''' + [Name] + ''' THEN [Net O] END),' + char(13)
+ N' [Net G] = MAX(CASE WHEN [Name] = ''' + [Name] + ''' THEN [Net G] END)' + char(13)
from [sample data]
group by [Name]
order by [Name]
select @sql = @sql
+ N'FROM [sample data]' + char(13)
+ N'GROUP BY [Date]'
print @sql
exec sp_executesql @sql
1 Like
Hi Khtan,
It works like a Charm thank you ...
sorry how to make the above to use as a View or SP ?
You can't make it a view. View does not support Dynamic SQL.
You can create a stored procedure for this
CREATE PROCEDURE your_stored_procedure_name
AS
BEGIN
< QUERY HERE >
END
1 Like
Thank you.