Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Prosta próbka Pivot

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;

Lub prościej - i zasługuj na @YS. za wskazanie mojej redundancji.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zwróć nazwę bieżącej stacji roboczej, która jest połączona z programem SQL Server (T-SQL)

  2. Jak działają kolumny obliczeniowe programu SQL Server w EntityFramework?

  3. Podsumuj listę jako ciąg oddzielony przecinkami

  4. konwersja typu danych varchar na typ danych datetime spowodowała otrzymanie wartości spoza zakresu

  5. Jak dokumentować bazę danych SQL Server