sql >> Database teknologi >  >> RDS >> Sqlserver

kolonneværdi i en enkelt række

Her er yderligere to metoder, bare for fuldstændighedens skyld:

  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. Hvordan fortæller man hvilken partition en række vil gå ind i, givet en kendt partitionsnøgleværdi i Oracle?

  2. Få den sidste dag i måneden i SQL

  3. Tæl antal dage mellem 2 datoer i JPA

  4. Hvorfor specificere en længde for karakter varierende typer