sql >> Databasteknik >  >> RDS >> Mysql

SQL självansluter för att returnera specifika rader

SELECT  mm.*, md.label AS standardized_label
FROM    mytable md
LEFT JOIN
        mytable mc
ON      mc.parent_element = md.id
        AND mc.client = @client
JOIN    mytable mm
ON      mm.id = COALESCE(mc.id, md.id)
WHERE   md.client IS NULL

Skapa ett index på (client, parent_element) för att detta ska fungera snabbt.

Se SQLFiddle .




  1. javafx Tabellvy visar inte data från databasen

  2. Doctrine2 DBAL Exists-fråga

  3. Skriv ut rankning från summa i PHP &MySQL i 1,1,3,4, etc Order

  4. Hur man skriver en select-sats med hjälp av en kapslad join