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

2つの列で相関サブクエリを使用する

    主キーがあれば、これははるかに簡単です:

    CREATE TABLE Purchasing (
        purchasing_id int auto_increment primary key,
        campaign VARCHAR(255),
        main_event VARCHAR(255),
        sub_event VARCHAR(255),
        quantity VARCHAR(255)
    );
    

    その簡単な追加で:

    SELECT p.*
    FROM Purchasing p
    WHERE p.purchasing_id = (SELECT p2.purchasing_id
                             FROM Purchasing p2
                             WHERE p2.campaign = p.campaign
                             ORDER BY field(p2.main_event, 'Storing', 'Ordered', 'Offered'),
                                      field(p2.sub_event, 'Completed', 'Recorded', 'Delivered')
                             LIMIT 1
                            );
    

    こちら db<>フィドルです。




    1. IS NOT NULLを使用すると、MySQLトリガーを作成できません

    2. JavaでJTableを使用してMySQLデータベースからレコードを表示する

    3. Oracleデータベースへの許可された接続の最大数を確認するにはどうすればよいですか?

    4. JDBCで準備されたクエリで複数のステートメントを使用できますか?