如何创建 table 以从查询行结果中生成列?
How can I create a table to generate columns from query row results?
我正在尝试从现有的 table 生成一个新的 table,就像这样。
我想要从当前 Table 到 return 不同值的列 "ProjectName" 作为结果 Table 中的新列。
然后我希望行到 return 列不同的 UserID,计算每个用户的每个项目的总 TimeIn 和 TimeOut。
然后我想将结果放在 aspx gridview 或 html table.
见下图:
因为你没有提到任何你到目前为止尝试过的东西
试试这个查询可能对你有帮助
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)
我正在尝试从现有的 table 生成一个新的 table,就像这样。 我想要从当前 Table 到 return 不同值的列 "ProjectName" 作为结果 Table 中的新列。 然后我希望行到 return 列不同的 UserID,计算每个用户的每个项目的总 TimeIn 和 TimeOut。
然后我想将结果放在 aspx gridview 或 html table.
见下图:
因为你没有提到任何你到目前为止尝试过的东西 试试这个查询可能对你有帮助
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)