Supprimer des doublons en sql sous ACCESS
Fermé
melongourmand
Messages postés
24
Date d'inscription
lundi 4 février 2013
Statut
Membre
Dernière intervention
28 avril 2014
-
13 févr. 2013 à 15:23
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 - 15 févr. 2013 à 20:26
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 - 15 févr. 2013 à 20:26
A voir également:
- Access supprimer les doublons
- Supprimer les doublons excel - Guide
- Supprimer une page word - Guide
- Supprimer compte instagram - Guide
- Supprimer les doublons photos gratuit - Télécharger - Nettoyage
- Doublons photos - Guide
2 réponses
Exileur
Messages postés
1475
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
16 décembre 2022
150
Modifié par Exileur le 13/02/2013 à 16:03
Modifié par Exileur le 13/02/2013 à 16:03
Salut,
Donc, ta table actuelle s'appelle "ta_table", crées une nouvelle table sur la même architecture, que tu appelles NOUVELLE_TABLE (exemples).
Histoire de ne pas toucher a la table d'origine en cas d'erreur.
Le script effectue un DISTINCT nom.
Donc si tu as un Dupont marc et un Dupont michel, le script ne fera pas la différence entre les deux, a toi de modifier le code à ta guise.
<?php
connectDB();
$sql= 'SELECT distinct nom FROM ta_table';
$req= mysql_query ($sql) or die ('Erreur SQL!'.$sql.'<br/>' .mysql_error());
while ($data=mysql_fetch_array($req))
{
$sql2='SELECT * FROM ta_table WHERE nom ='.$data['nom'].'';
$req2= mysql_query ($sql2) or die ('Erreur SQL!'.$sql2.'<br/>' .mysql_error());
$charges = 0;
while ($data2 = mysql_fetch_array($req2))
{
$num = $data2['num'];
$nom = $data2['nom'];
$prenom = $data2['prenom'];
$charges = $charges + $data2['charges'];
}
$sql3 = ' INSERT INTO NOUVELLE_TABLE(num, nom, prenom, charges)
VALUES ('.$num.', '.$nom.', '.$prenom', '$charges')';
$req3 = mysql_query ($sql3) or die ('Erreur SQL!'.$sql3.'<br/>' .mysql_error());
}
mysql_close();
?>
Cordialement
Exileur
N'oubliez pas de marquez votre post comme résolut lorsque vous avez eu les réponses à vos questions...
Au royaume des aveugles, les borgnes sont rois.
Donc, ta table actuelle s'appelle "ta_table", crées une nouvelle table sur la même architecture, que tu appelles NOUVELLE_TABLE (exemples).
Histoire de ne pas toucher a la table d'origine en cas d'erreur.
Le script effectue un DISTINCT nom.
Donc si tu as un Dupont marc et un Dupont michel, le script ne fera pas la différence entre les deux, a toi de modifier le code à ta guise.
<?php
connectDB();
$sql= 'SELECT distinct nom FROM ta_table';
$req= mysql_query ($sql) or die ('Erreur SQL!'.$sql.'<br/>' .mysql_error());
while ($data=mysql_fetch_array($req))
{
$sql2='SELECT * FROM ta_table WHERE nom ='.$data['nom'].'';
$req2= mysql_query ($sql2) or die ('Erreur SQL!'.$sql2.'<br/>' .mysql_error());
$charges = 0;
while ($data2 = mysql_fetch_array($req2))
{
$num = $data2['num'];
$nom = $data2['nom'];
$prenom = $data2['prenom'];
$charges = $charges + $data2['charges'];
}
$sql3 = ' INSERT INTO NOUVELLE_TABLE(num, nom, prenom, charges)
VALUES ('.$num.', '.$nom.', '.$prenom', '$charges')';
$req3 = mysql_query ($sql3) or die ('Erreur SQL!'.$sql3.'<br/>' .mysql_error());
}
mysql_close();
?>
Cordialement
Exileur
N'oubliez pas de marquez votre post comme résolut lorsque vous avez eu les réponses à vos questions...
Au royaume des aveugles, les borgnes sont rois.
melongourmand
Messages postés
24
Date d'inscription
lundi 4 février 2013
Statut
Membre
Dernière intervention
28 avril 2014
13 févr. 2013 à 16:18
13 févr. 2013 à 16:18
Merci Exileur pour ta reponse rapide , je ne doute pas que cela fonction en php.
Comme je l'ai dit je fait des requete SQL sous ACCESS je ne fait pas de script.Je veu juste suprimmer mes doublons sans passer par une autre table , je penser moi plutot a un genre de condition "iif" qui pourrait faire la supression car avec un SELECT DISTINCT cela ne marche pas :( . Je veux just pouvoir calculer ma colonne "charges" , j'ai beau mettre un SUM (charges) mais sans succé.
Comme je l'ai dit je fait des requete SQL sous ACCESS je ne fait pas de script.Je veu juste suprimmer mes doublons sans passer par une autre table , je penser moi plutot a un genre de condition "iif" qui pourrait faire la supression car avec un SELECT DISTINCT cela ne marche pas :( . Je veux just pouvoir calculer ma colonne "charges" , j'ai beau mettre un SUM (charges) mais sans succé.
Exileur
Messages postés
1475
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
16 décembre 2022
150
13 févr. 2013 à 17:15
13 févr. 2013 à 17:15
Oops, j'ai pas fais attention. Je suis désolé mais je ne peux pas vous aider... Je n'y connais rien a access :/
melongourmand
Messages postés
24
Date d'inscription
lundi 4 février 2013
Statut
Membre
Dernière intervention
28 avril 2014
15 févr. 2013 à 10:00
15 févr. 2013 à 10:00
personne ne peu m'aider ?
Exileur
Messages postés
1475
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
16 décembre 2022
150
15 févr. 2013 à 20:26
15 févr. 2013 à 20:26
Si vous exportez votre base de donnée, je dois pouvoir utiliser mon script sous php pour supprimer les doublons. Sinon, vous installez wamp, exporter votre bdd, vous l'incluez dans phpmyadmin, et utilisez le script que je vous ai fait.