sql >> データベース >  >> RDS >> Sqlserver

単一行の列値

    完全を期すために、さらに 2 つの方法を次に示します。

    <オール>
  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. ベーステーブルから行を削除すると、そのテーブルのビューに影響しますか?

    2. MySQLは2つのテーブルからJOINを使用してランダムな行を選択します

    3. データベース駆動型Webサイトについて知っておくべきこと

    4. パラメータのJPAlower()関数