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

単一の外部SELECTクエリでSELECTサブクエリからの2つの集計値を使用する

    2つのサブクエリを1にマージできます:

    SELECT MAX(c.cust_id) AS max_nh_cust_id,
           MAX(a.avail_balance) AS max_nh_avail_balance 
    FROM account a INNER JOIN customer c 
    ON a.cust_id = c.cust_id 
    WHERE c.state = 'NH'
    

    次のように参加します:

    SELECT a.cust_id
    FROM account a 
    INNER JOIN customer c ON a.cust_id = c.cust_id
    INNER JOIN (
      SELECT MAX(c.cust_id) AS max_nh_cust_id,
             MAX(a.avail_balance) AS max_nh_avail_balance 
      FROM account a INNER JOIN customer c 
      ON a.cust_id = c.cust_id 
      WHERE c.state = 'NH'
    ) t ON c.cust_id > t.max_nh_cust_id AND a.avail_balance > t.max_nh_avail_balance
    WHERE c.state = 'MA'
    

    デモ を参照してください。 。
    結果:

    > | cust_id |
    > | ------: |
    > |      13 |
    



    1. Oracleのテーブルにエイリアスを与えるにはどうすればよいですか?

    2. MySQLSELECTから値を連結する方法

    3. OracleでGUIDを生成する方法は?

    4. Whileループを使用したMySQL挿入