Bonjour,

J'ai créé une toute petite base de test sous MySQL 5.0 :

Table_a
ida INT PK

Table_b
valb INT PK,
a_ida INT FK Table_a(ida)

Je souhaite supprimer les enregistrements de Table_a n'ayant aucun enregistrement commun en FK sur Table_b.

J'ai donc tenté un

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
DELETE 
FROM Table_a 
  JOIN (
    select ida, count(a_ida) AS c 
    from Table_a left join Table_b on ida = a_ida 
    group by ida having c = 0
  ) AS sr on sr.ida = Table_a.ida
Mais j'ai une erreur de syntaxe, sans autre explication. Je ne sais pas si c'est réellement de la syntaxe, si cette opération est possible avec un DELETE ou si c'est à cause de la table Table_a qui est à la fois la cible de la modification et fait également partie de la sous requête.

Merci si vous pouvez m'éclairer.

C. Tobini