sql >> Databáze >  >> RDS >> Mysql

SQL self-join pro vrácení konkrétních řádků

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

Vytvořte index na (client, parent_element) aby to fungovalo rychle.

Viz SQLFiddle .




  1. potřebujete pomoc s optimalizací wordpress meta_query

  2. Jak získat jméno krátkého dne z data v MariaDB

  3. Jak převedu řádky na sloupce na serveru SQL Server 2005

  4. odstranit z databáze po zavření prohlížeče