Voici la structure de ma DB
structure
L'ennui est que pour un même id de fungi2, j'ai plusieurs entrées dans fungi2_accessions. Je voudrais supprimer les entrées de ces deux tables pour lesquelles fungi2.organism contient le mot 'uncultured'.
2359 entrées
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT fungi2_accessions.*, fungi2.* FROM fungi2_accessions, fungi2 WHERE fungi2_accessions.id = fungi2.id AND fungi2.organism like '%uncultured%'
Avec cette requête, je crains de ne récupérer qu'une seule des entrées de fungi2_accessions associées à fungi2 ... serait-ce le cas?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 DELETE FROM fungi2_accessions, fungi2 WHERE fungi2_accessions.id = fungi2.id AND fungi2.organism like '%uncultured%'
Une jointure serait-elle mieux ... je n'arrive pas à voir le résultat de cette requête, je ne sais donc pas si le nombre d'entrées récupéré est supérieur ou non à la requête précédente.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT * FROM fungi2 f LEFT JOIN fungi2_accessions fa ON f.id = fa.id WHERE f.organism LIKE '%uncultured%'
Merci pour vos conseils,
Partager