Bonjour.
Toujours dans le cadre de l'analyse des données d'une base sur les bovins, dans le but d'en faire une BDD structurée correctement pour de futures études statistiques, j'ai 2 tables source : bovins et veaux.
La table des veaux contient l'information sur leur mère et sur leur père, lesquels se trouvent dans la table des bovins.
Ayant remarqué que le sexe de certains bovins n'était pas renseigné, j'ai effectué la requête suivante pour trouver les pères des veaux figurant dans la table bovins et n'ayant pas de sexe :
Résultat : 124 lignes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT b.* FROM bdni.bovins b INNER JOIN bdni.veaux v ON b.COD_PAYS = v.COD_PAYS_PERE AND b.NUM_NAT = v.NUM_NAT_PERE WHERE b.SEXE = '' OR b.SEXE IS NULL
Je décide de mettre à jour ces lignes avec la requête suivante pour leur affecter le SEXE = '1' (mâle) :
Résultat : 10 lignes seulement ont été mises à jour !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 UPDATE bdni.bovins b INNER JOIN bdni.veaux v ON b.COD_PAYS = v.COD_PAYS_PERE AND b.NUM_NAT = v.NUM_NAT_PERE SET b.SEXE = '1' WHERE b.SEXE = '' OR b.SEXE IS NULL
Pourtant, les conditions de jointure de restriction sont les mêmes.
Une idée du pourquoi du comment du quoi ou qu'est-ce ?
EDIT : Base MySQL
Vu que je n'ai pas eu de réponse satisfaisante à ma question dans le forum MySQL, je tente ma chance en Langage SQL...
Partager