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

smazat se spojením stejné tabulky

Ačkoli příručka Zdá se, že syntaxe INNER JOIN by měla fungovat v DELETE, vím, že tato alternativa s klauzulí spojení přesunuta do podmínky where by fungovala....

DELETE  a.* FROM t1 AS a, t1 as b 
WHERE 
    a.some_field_b=b.some_field_b AND
    a.some_field_a = value_x AND 
    b.some_field_a = value_y

Edit:Právě jsem to zkusil, což mi fungovalo:

DELETE a FROM t1 AS a 
INNER JOIN t1 as b USING(some_field_b) 
WHERE 
    a.some_field_a = value_x AND 
    b.some_field_a = value_y



  1. Připojení k místní databázi SQL Server pomocí C#

  2. MySQL:Vyberte náhodný záznam, ale váhu vůči určitým záznamům

  3. Jaké jsou tabulky BIN$... v tabulce ALL_TAB_COLUMNS společnosti Oracle?

  4. Proaktivní kontroly stavu serveru SQL Server, část 4:ERRORLOG