总和超过50列

时间:2019-06-27 07:14:51

标签: mysql sql

SET   @SQLQuery =
N'SELECT [DocDate],[U_Sector],[U_Zone],' +   @PivotColumns + '
INTO ##TBL_TEMP
FROM ##TEMPNAD
PIVOT( SUM([OfftakeQty])
  FOR [Dscription] IN (' + @PivotColumns + ')) AS Q '

下表是我查询(6)列的结果,但@PivotColumns动态变量中还有(​​58)列。

DocDate     Sector  Zone  InvQty ReturnQty FreeQty ReturnQtyAmt DscrdQty DscrdQtyAmt  
27-06-2019    LHR    A      30       14       0         182        14        182  
27-06-2019    LHR    A      150      4        2         324         6        486  
27-06-2019    LHR    A      105      20       0         900         20       900  
27-06-2019    LHR    A      20       2        0         108         2        108  
27-06-2019    LHR    A      15       6        0         240         6        240 

动态

我想在每一列上使用汇总sum()来获得每一列的总数,因为“ InvQty”值分别为30,150,105,20和15。sum()结果为320。

但是(58)列可以增加或减少。因此,我需要一个动态查询来动态获取每个列的总和,以获取以下结果。

DocDate     Sector  Zone  InvQty ReturnQty FreeQty ReturnQtyAmt DscrdQty DscrdQtyAmt  
27-06-19     LHR     A       320    46        2        1754       48        1916  

所以我如何在所有列上都得到高于结果而不在查询中写出它们的字段名称

谢谢

0 个答案:

没有答案