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

wartość kolumny w jednym wierszu

Oto jeszcze dwie metody, tylko dla kompletności:

  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. Algorytm sortowania identyfikatorów GUID programu SQL Server. Czemu?

  2. Najszybszy sposób na wielokrotne uruchamianie tego samego zapytania w SQL Server

  3. Wydajność między bazami danych SQL 2008 na tej samej maszynie fizycznej i tej samej instancji serwera

  4. Jak używać parametru z LIKE w Sql Server Compact Edition

  5. Przesyłanie notacji naukowej (od varchar -> numeryczny) do widoku