sql >> Databasteknik >  >> RDS >> Sqlserver

Enkelt Pivot-exempel

SELECT MasterID, 
  [Basic Phone] = MAX([Basic Phone]),
  [Pixi] = MAX([Pixi]),
  [Blackberry] = MAX([Blackberry])
FROM
(
  SELECT MasterID, [Basic Phone],[Pixi],[Blackberry]
  FROM dbo.Services AS s
  PIVOT 
  (
    MAX([Status]) FOR [Type] IN ([Basic Phone],[Blackberry],[Pixi])
  ) AS p
) AS x
GROUP BY MasterID;

Eller enklare – och kredit till @YS. för att ha påpekat min redundans.

SELECT MasterID, 
  [Basic Phone],
  [Pixi],
  [Blackberry]
FROM
(
  SELECT MasterID, Status, Type FROM dbo.Services
)
AS s
PIVOT 
(
  MAX([Status]) FOR [Type] IN ([Basic Phone], [Blackberry], [Pixi])
) AS p;



  1. Oracle BI Publisher - Hur man formaterar siffror som text så att inledande nollor inte försvinner

  2. åtkomst nekad för att ladda data i MySQL

  3. Vad är den exakta innebörden av att ha ett tillstånd som där 0=0?

  4. MySQL Grant för mer än en databas