sql >> Database >  >> RDS >> Mysql

Gebruik gecorreleerde subquery over twee kolommen

Dit zou veel eenvoudiger zijn als u een primaire sleutel had:

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

Met die simpele toevoeging:

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

Hier is een db<>viool.




  1. SQL-query voor totaal aantal punten binnen de straal van een locatie

  2. Aan de slag met Oracle SQL Developer op Windows

  3. Hoe voorraad en verkoop aftrekken met behulp van mysql-subquery?

  4. Kan een externe sleutel NULL en/of duplicaat zijn?