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

SQL-forespørgselsydelsesspørgsmål (flere underforespørgsler)

Hvis "aktiv" er den første i alfabetisk rækkefølge, kan du muligvis reducere underforespørgsler til:

SELECT p.id, r.status, r.title
FROM page AS p
    INNER JOIN page_revision as r ON r.pageId = p.id AND 
        r.id = (SELECT r2.id 
                FROM page_revision as r2 
                WHERE r2.pageId = r.pageId 
                ORDER BY r2.status, r2.id DESC
                LIMIT 1)

Ellers kan du erstatte ORDER BY linje med

ORDER BY CASE r2.status WHEN 'active' THEN 0 ELSE 1 END, r2.id DESC

Disse kommer alle fra mine antagelser om SQL Server, dit kilometertal med MySQL kan variere.



  1. Begrænsning i MYSQL-tabel?

  2. få alle relationelle tabeller data ved hjælp af xmlelement i pl/sql

  3. Begynderguide til lagrede procedurer med MySQL?

  4. Sådan kører du rå SQL-forespørgsel med Zend Framework 2