Bonjour tlm,
Je suis débutant en mysql, et je cherche à faire un truc assez simple, j'aimerais récupérer des résultats mysql ayant des valeurs identiques.
Je m'explique, j'ai une table avec plusieurs clés primaires que j'aimerais mettre à jour, malheureusement je dois remplacer plusieurs valeurs de ces clé par des valeurs identiques, mysql me renvoit donc une erreur duplicate key entry.
Je veux donc effectué un SELECT sur les lignes qui posent problème en n'affichant que celle-ci, pour les modifier manuellement au cas par cas.
J'aimerais un résultat qui ressemble à ça (c.f. tables ci-dessous) :
J'ai essayé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 id1 id2 val id_old id_new 15 18 ... 18 1002 15 19 ... 19 1002 ^ La requête n'affiche les lignes qu'à partir de 2 résultats similaires.Mais ça ne marche pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT * FROM matable AS tab LEFT JOIN table_upd AS upd ON tab.id2 = upd.id_old HAVING COUNT(id_new) > 1
Voici les tables utilisées dans mon exemple :
Je met à jour id2 par rapport à la deuxième table (table_upd)
matable :
table_upd (table de màj) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 id1 : 15 id2 : 18 val : Chacal ----------- id1 : 15 id2 : 19 val : Galipode ----------- id1 : 15 id2 : 23 val : Ornitorinque
Auriez-vous, gentlemen (women?) de plus corrects propositions ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 id_old : 23 id_new : 1001 ----------------- id_old : 18 id_new : 1002 # ce champ... ----------------- id_old : 19 id_new : 1002 # ...et ce champ rentrent en conflit
Merci d'avance.
Toute ressemblance avec des tables ou des champs existants serait purement fortuite et involontaire.
Partager