2015-02-03 4 views
-1

Как я могу группировать по этой сводной таблицеГруппировка в сводной таблице в SQL Server 2008 R2

select * 
from 
    (SELECT  
     ProductionID,ProductionDetailID,     
     [DeviceID],[DeviceSpeed],[LattNO] 
    from 
     (SELECT  
      * 
     from view_3 
     where ProductionID = 6) x pivot 
     (
      max(Value)FOR PropertyName in ([DeviceID],[DeviceSpeed],[LattNO]) 
     ) AS pvt) as pp 

Результат:

ProductionID ProductionDetailID DeviceID DeviceSpeed LattNO 
6      2    5   NULL  NULL 
6      2    NULL   8  NULL 
6      2    NULL   NULL  6 
6      3    1   NULL  NULL 
6      3    NULL   2  NULL 

и как я могу получить этот результат:

ProductionID ProductionDetailID DeviceID DeviceSpeed LattNO 
     6   2     5   8   6 
     6   3     1   2   NULL 
+0

Остановить использование 'SELECT *' и использовать только столбцы, которые вам действительно нужны для возврата в подзапрос. Вы, очевидно, включаете дополнительный столбец, который вызывает сбой группировки, но не видя определения вашей таблицы, мы бы предположили, что столбец вызывает проблему. – Taryn

ответ

1

SELECT
ProductionID, ProductionDetailID, Sum (Cast (isnull ([DeviceID], 0) as Int)) [Dev iceid], Sum (Cast (isnull ([DeviceSpeed], 0) как Int)) [DeviceSpeed], Сумма случая (Cast (isnull ([LattNO], 0) как Int)) Когда 0, то Null else Sum (Cast (isnull ([LattNO], 0), как Int)) End [LattNO] от ( ВЫБОР * оТ dbo.View_3
) х поворота ( макс (значение) ДЛЯ PropertyName в ([DeviceID], [DeviceSpeed] , [LattNO]) ) AS pvt Группа по ПроизводствуID, ProductionDetailID

+0

Go Haleshoo Bebar www.nicelabel.ir –

Смежные вопросы