代码之家  ›  专栏  ›  技术社区  ›  proghasan

联接到视图表转换

  •  1
  • proghasan  · 技术社区  · 6 年前

    我想把左连接改成 view table .

    Following is my SQL

     SELECT d.account_no, COALESCE(d.deposits, 0) - COALESCE(w.withdrawals, 0) 
       AS balance
      FROM (SELECT account_no, SUM(deposit_amount) AS deposits
       FROM deposits
      GROUP BY account_no) d
      LEFT JOIN (SELECT account_no, SUM(withdraw_amount) AS withdrawals
           FROM withdraws
           GROUP BY account_no) w ON w.account_no = d.account_no
    

    我想创造 view 表。

    我该怎么做呢?有人能帮忙吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   ScaisEdge    6 年前

    创建视图(一次)并在左连接中使用

    CREATE  VIEW my_view AS 
    SELECT account_no, SUM(withdraw_amount) AS withdrawals
           FROM withdraws
           GROUP BY account_no
    ;
    
    
    SELECT d.account_no, COALESCE(d.deposits, 0) - COALESCE(w.withdrawals, 0) 
     AS balance
    FROM (SELECT account_no, SUM(deposit_amount) AS deposits
     FROM deposits
    GROUP BY account_no) d
    LEFT JOIN my_view  w ON w.account_no = d.account_no