如何创建表以根据查询行结果生成列?

时间:2019-10-10 00:44:01

标签: html asp.net sql-server gridview datatable

我正在尝试像这样从现有表生成新表。 我希望当前表中的“ ProjectName”列返回不同的值作为结果表中的新列。 然后,我希望这些行返回不同的UserID列,为每个用户计算每个项目的总TimeIn和TimeOut。

然后我想将结果放入aspx gridview或只是html表中。

请参见下图:

enter image description here

1 个答案:

答案 0 :(得分:1)

您至今未提及任何事情 试试这个查询可能对您有帮助

Declare @SQL varchar(max) = '
Select *
 From  (
        Select ID  
              ,UserID
              ,Manager

          From Your_Table
       ) A
 Pivot (max([ProjectName]) For [TimeIn] in (' + Stuff((Select Distinct ','+QuoteName (TimeIn) 
                    From Your_Table A  
                    Order By 1 
                    For XML Path('')),1,1,'')  + ') ) p'
--Print @SQL
Exec(@SQL)