sql >> Database >  >> RDS >> Sqlserver

kolomwaarde in een enkele rij

Hier zijn nog twee methoden, voor de volledigheid:

  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. zoeken naar cross-field duplicaten in postgresql

  2. Is er een betere manier om gegevens uit twee tabellen tegelijk te krijgen met Sphinx/MySQL?

  3. Hoe een enkele tabel in de mysql-database te importeren met behulp van de opdrachtregel

  4. SQL gebruiken als een xlookup