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

Sprawa przestawna, kiedy?

Czy musisz użyć PIVOT? ?, ponieważ prostym sposobem na to byłoby użycie CASE wyrażenia:

SELECT  id,
        MIN(CASE WHEN displayName = 'User SID' THEN stringValue END) [User SID],
        MIN(CASE WHEN displayName = 'User Name' THEN stringValue END) [User Name],
        MIN(CASE WHEN displayName = 'Last Login' THEN dateValue END) [Last Login]
FROM YourTable
GROUP BY id

Oto wynik:

╔══════════════════════════════════════╦══════════╦═══════════╦════════════╗
║                  ID                  ║ USER SID ║ USER NAME ║ LAST LOGIN ║
╠══════════════════════════════════════╬══════════╬═══════════╬════════════╣
║ EBD6F18D-3CD3-4134-8FFB-7620D3EA93DF ║ SID2     ║ User 2    ║ 2012-01-10 ║
║ 59FAA56C-4C0C-456E-BA68-AC63250D6281 ║ SID-122  ║ My User   ║ 2012-01-01 ║
╚══════════════════════════════════════╩══════════╩═══════════╩════════════╝

A tutaj jest sqlfiddle z wersją demonstracyjną, którą możesz wypróbować.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dopasowywanie danych z trzech tabel w SQL Server 2008

  2. 3 sposoby wyodrębnienia roku z daty w SQL Server (T-SQL)

  3. Pobieranie użytkowników online według rekordów logowania i wylogowania

  4. Wyszukiwanie kolumny z wartościami oddzielonymi przecinkami

  5. Wyszukiwanie obiektów bazy danych i danych tabel w SQL Server