sql >> Database teknologi >  >> RDS >> Mysql

Brug korreleret underforespørgsel over to kolonner

Dette ville være meget nemmere, hvis du havde en primær nøgle:

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

Med den simple tilføjelse:

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
                        );

Her er en db<>violin.




  1. Hvordan indstilles global event_scheduler=ON, selvom MySQL genstartes?

  2. Konverter månedsnummer til månedsnavnfunktion i SQL

  3. Kan ikke finde UseMysql-metoden på DbContextOptions

  4. Hvad er den hurtigste måde at lave en masseindsættelse i Postgres?