Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

стойност на колона в един ред

Ето още два метода, само за пълнота:

  1. SELECT
      p.name,
      MAX(CASE t.phonetype WHEN 'work' THEN t.phoneno END) AS workphone,
      MAX(CASE t.phonetype WHEN 'home' THEN t.phoneno END) AS homephone,
      MAX(CASE t.phonetype WHEN 'mob' THEN t.phoneno END) AS mobilephone
    FROM people p
      INNER JOIN phones t ON p.Id = t.Id
    GROUP BY p.Id, p.Name
    
  2. SELECT
      p.name,
      w.phoneno AS workphone,
      h.phoneno AS homephone,
      m.phoneno AS mobilephone
    FROM people p
      LEFT JOIN phones w ON p.Id = w.Id AND w.phonetype = 'work'
      LEFT JOIN phones h ON p.Id = h.Id AND h.phonetype = 'home'
      LEFT JOIN phones m ON p.Id = m.Id AND m.phonetype = 'mob'
    


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Настройка и конфигуриране на винаги включена група за наличност в SQL Server

  2. Как да зададете първичен ключ при свързване с CreateTableDef

  3. Научете дизайн на база данни със SQL Server Management Studio (SSMS) – част 2

  4. SQL Server:АКТУАЛИЗИРАНЕ на MyTable SET col1 =стойност, col2 =col1

  5. Как да включите резултати, които се равняват на последното място, когато използвате клаузата TOP в SQL Server