Je cette requête SQL:mise à jour d'une table avec le groupe par et count = 1 dans une base MySQL
SELECT *
FROM caduti
GROUP BY foto
HAVING count(foto) = 1
Je tableau caduti
avec valeur en double dans la colonne foto
et la nécessité de mettre à jour la colonne foto_ok
avec la valeur de la colonne foto
uniquement pour les valeurs uniques dans la colonne.
J'ai essayé plusieurs UPDATE comme celui-ci
UPDATE caduti
SET foto_ok=foto
FROM (
SELECT *
FROM caduti
GROUP BY foto
HAVING count(foto) = 1
)
, mais je ne peux pas comprendre comment le faire fonctionner. De l'aide?
Ne comprenez pas u et c ce qui signifie. J'ai essayé la requête telle qu'elle est, mais donnez-moi 6 erreur statique et une erreur sql # 1052 - Colonne: 'foto' de la liste des champs est 'ambigu – Pier67
@ Pier67 bien sûr, vous obtenez l'erreur. Parce que la colonne foto était ambiguë. J'ai mis à jour la réponse. De plus, u et c ne sont que des alias. Je ne sais pas, comment vous n'êtes pas au courant du nom d'alias. – Ravi
Je sais ce que sont les noms d'alias, mais il me faut du temps pour comprendre comment l'utiliser parce que je suis un débutant. En fin de compte, je remplace caduti pour c et laissez vous comme c'est et ça marche! Donc merci beaucoup! – Pier67