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

MYSQL:値のリストをテーブルに結合します

    MySQLでは、union allを使用してテーブルを作成できます :

    select m.mode, SUM(p.amount)
    from (select 'Cash' as mode union all
          select 'Card' union all
          select 'Cheque' union all
          select 'Bank'
         ) m left join
         payments p
         on m.mode = p.mode
    group by m.mode;
    

    注:

    • nameを変更しました modeへ したがって、同じ情報の列は同じ名前になります。
    • group by キーは最初からのものである必要があります ではなく名前 (つまり、m.mode p.modeの代わりに 。
    • 0が必要な場合 NULLの代わりに 、次にcoalesce(sum(p.amount), 0)を使用します 。
    • モード値を含む参照テーブルを検討することをお勧めします。



    1. 行ごとではなくMySQLでテーブル全体を保持するSELECTFORUPDATE

    2. EM13cでのエージェントの廃止

    3. Oracle集合演算子

    4. Hibernateでの同時更新処理