Meric92
Messages postés27Date d'inscriptionjeudi 28 décembre 2006StatutMembreDernière intervention 9 avril 2009
-
9 avril 2009 à 12:07
Meric92
Messages postés27Date d'inscriptionjeudi 28 décembre 2006StatutMembreDernière intervention 9 avril 2009
-
9 avril 2009 à 15:56
Bonjour,
Je cherche donc a faire un update dans une table avec des conditions que je récupère a l'aide d'un select dans une table jointe...
Je vous montre ma requête :
update FORMATION_PROF
set date_debut = date_saisie
where ( select count (COUPON_FORMATION.id_coupon)
inner join COUPON_FORMATION on FORMATION_PROF.id_formation = COUPON_FORMATION.id_formation
where COUPON_FORMATION.id_formation = FORMATION_PROF.id_formation )
= 0
and FORMATION_PROF.date_saisie like "%2007";
Mon erreur est :
#1064 - You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to
use near 'inner join COUPON_FORMATION on FORMATION_PROF.id_formation =
COUPON_FORMATION.id' at line 4
Le but étant de mettre la valeur de date_saisie dans date_debut pour toutes les formations qui n'ont pas de coupon et qui ont été saisies en 2007.
aieeeuuuuu
Messages postés698Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention20 mai 20113 9 avril 2009 à 15:05
avec ca je pense que ca devrait etre bon, si toutefois j'ai bien compris la structure de ta base
update FORMATION_PROF
set date_debut = date_saisie
where id_formation NOT IN ( select id_formation FROM COUPON_FORMATION)
and FORMATION_PROF.date_saisie like "%2007";
Meric92
Messages postés27Date d'inscriptionjeudi 28 décembre 2006StatutMembreDernière intervention 9 avril 2009 9 avril 2009 à 15:56
Merci pour votre aide, malheureusement je ne peux plus tester cette solution, j'avais trouvé une solution différente.
En tout cas le "NOT IN" était en effet plus logique a utilisé dans ce cas que le count( ) ! Parfois on a vraiment la tête dans son écran ....