使用razor转换/转换以下结果集(顶部 - 原始数据)以及在webgrid或html表格中的另一个视图中显示/创建(底部 - 数据的百分比)的最简洁方法是什么?
酒店将变得充满活力(一直在增加)。 THX!
答案 0 :(得分:0)
为什么你不能尝试以下?
SELECT Region,
HotelA
, HotelB
, HotelC
FROM ( SELECT Hotel ,region
, cast(hotelregioncount as numeric(18,2))/cast(totalhotelcount as numeric(18,2)) A
FROM hoteltable
) p PIVOT ( SUM(A)
FOR hotel
IN (HotelA,HotelB,HotelC)
) AS pvt
答案 1 :(得分:0)
这就是你想让列动态化的内容
DECLARE @query NVARCHAR(4000)
DECLARE @cols NVARCHAR(2000)
SELECT @cols = STUFF(( SELECT DISTINCT TOP 100 PERCENT
'],[' + t2.Hotel
FROM hoteltable AS t2
ORDER BY '],[' + t2.Hotel
FOR XML PATH('')
), 1, 2, '') + ']'
SET @query =
'SELECT Region,
' + @cols + '
FROM ( SELECT Hotel ,region
, cast(hotelregioncount as numeric(18,2))/cast(totalhotelcount as numeric(18,2)) A
FROM hoteltable
) p PIVOT ( SUM(A)
FOR hotel
IN (' + @cols + ')
) AS pvt'
execute(@query)