sql >> Databasteknik >  >> RDS >> Sqlserver

kolumnvärde i en enda rad

Här är ytterligare två metoder, bara för fullständighetens skull:

  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. Entitetsklass från databas....Fel Ogiltig resurs _pm

  2. SQL-frågan tar timeout när den körs från C#, snabbt i SQL Server Management Studio

  3. Vilket är effektivare smallint eller karaktär(10)?

  4. Konvertera datum i formatet MM/DD/ÅÅÅÅ till MySQL-datum