我有一个视图,它在水平透视表中有200列数据。我想在这200列中使用COUNT()或SUM()。如何在不写一个庞大的SQL查询的情况下完成这个任务,我必须写出每一列?横向计算列
我想象中:
COUNT([Column 1] -> [Column 200]) // Counts all values in Column 1 through Column 200.
如何真的是:
COUNT([Column 1]) + COUNT([Column 2 ]) + COUNT([Column 3])... AS 'Total'
注:
我将这个算到另一个查询在那里我被另一列分组名称。
这个'SUM()'版本会忽略任何带有字符的字段,但是如果你有任何字段持有你不想添加的整数(比如'ID'),你可以通过使用一个子查询:'FROM(SELECT ID * -1'NegID',* \t FROM#Table1 \t)AS T1'例如。 –
@GoatCO感谢您的信息。 – Lamak
不幸的是,我在每一列中都没有相同的数据类型。我假设这就是为什么这个方法不起作用,因为我在没有转换的数据集中有日期/时间戳。我总是可以将200列与主键放在一个单独的视图中,然后将它们结合在一起。 – Fastidious