Можем ли мы добавить два столбца при выполнении таблицы PIVOT в SQL

это так просто:

def tail(fname,nl):
with open(fname) as f:
    data=f.readlines() #readlines return a list
    print(''.join(data[-nl:]))
0
задан Niranjan S 19 March 2019 в 09:07
поделиться

2 ответа

использовать coalesce()

SELECT 'CFS to Zero' Location, coalesce([0],0)+coalesce([1],0)+coalesce([2],0)+coalesce([3],0)  FROM                         
(SELECT  [ContainerCount],Time FROM #tt )as Tab1                        
PIVOT                        
(                        
MAX([ContainerCount]) FOR Time IN ([0],[1],[2],[3])) AS Tab2
0
ответ дан fa06 19 March 2019 в 09:07
поделиться

Если вам нужна только 1 СУММА, вам не нужен PIVOT.

Просто суммируйте и получите значения MAX, а затем СУММИТЕ их.

Преимущество этого заключается в том, что вы можете просто использовать МЕЖДУ, чтобы выбрать только диапазон времени. Вместо того, чтобы жестко кодировать значения времени в PIVOT.

SELECT 
 'CFS to Zero' AS Location, 
 SUM(MaxContainerCount) AS TotalMaxContainerCount
FROM
(
  SELECT 
   [Time], 
   MAX(ContainerCount) AS MaxContainerCount
  FROM #tt
  WHERE [Time] BETWEEN 0 AND 3
  GROUP BY [Time]
) q
0
ответ дан LukStorms 19 March 2019 в 09:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: