Moundir76
Messages postés281Date d'inscriptiondimanche 3 octobre 2010StatutMembreDernière intervention16 mai 2014
-
20 juin 2011 à 08:56
tri_yann
Messages postés124Date d'inscriptionmercredi 23 novembre 2005StatutMembreDernière intervention19 septembre 2013
-
14 avril 2012 à 13:14
Bonjour,
Je souhaite effectuer une requête SQL DELETE, jusque la rien de compliqué mais c'est la premiere fois que je dois faire une requete avec jointures.
En effet, je souhaite supprimer tout ce qu'il y a dans la table F_NOMENCLAT mais avec une condition discriminante sur la table F_ARTICLE.
Dans F_ARTICLE, AR_REF correspond a AR_REFDET de la table F_NOMENCLAT.
Je souhaite supprimer tout dans la table F_NOMENCLAT quand dans F_ARTICLE on a AR_SOMMEIL = 0
Mon driver ODBC n'autorise que le LEFT OUTER JOIN d’après la notice.
J'avais pensé à faire
DELETE FROM F_NOMENCLAT N
LEFT JOIN F_ARTICLE A
ON (N.NO_REFDET = A.AR_REF)
WHERE A.AR_SOMMEIL = 0
delete from F_NOMENCLAT where AR_REF in
(
select AR_REFDET as AR_REF F_NOMENCLAT where AR_SOMMEIL = 0
);
Grosso modo quelque chose de ce style là.
La sous requête sert à renvoyer les lignes qui ont AR_SOMMEIL à 0. J'ai volontairement changer le nom AR_REFDET en AR_REF car je pense que ça peut coincer avec le requête appelante qui utilises AR_REF dans la condition...