您需要使用
pivot。一个可能给您带来问题的问题是,由于查询永远无法返回动态数量的列(即使您正在旋转的列也是如此),因此您必须知道您拥有多少个类别。
我没有您的架构,但这应该是正确的(可能在这里和那里进行一些润色,但这应该可以让您入门)…
select Date, [1] as Cat1, [2] as Cat2, [3] as Cat3, ...from (select date, category from table) ppivot ( count(*)for Category in ([1],[2],[3],...)) pivotedorder by pivoted.date



