Mysql
 sql >> база данни >  >> RDS >> Mysql

SQL самосъединяване за връщане на конкретни редове

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

Създайте индекс на (client, parent_element) за да работи бързо.

Вижте SQLFiddle .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql | Codeigniter Active Records добавят допълнителни отметки за връщане към заявката

  2. Извикване на дефинирана от потребителя съхранена процедура от оператор за избор на mysql

  3. Заявка, настояваща за колони в клаузата „Подреждане по“ съответства на колони в клаузата „Групиране по“

  4. Как да премахнете акцентите в MySQL?

  5. Как да се справя с единични кавички в SQL заявка в PHP?