Supprimer des doublons en sql sous ACCESS

Fermé
Signaler
Messages postés
24
Date d'inscription
lundi 4 février 2013
Statut
Membre
Dernière intervention
28 avril 2014
-
Messages postés
1468
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
26 octobre 2021
-
Bonjour,

Je demande encore une foi de plus votre aide .
Tout est dans le titre ^^ , donc j'explique j'ai des doublons sur plusieurs ligne et je souhaite les supprimés j'ai egalement lié a ceci une colonne ou je calcule le nombre de charges et c'est pour cela que sa fait autant de doublons , je voudrais calculer la sommes des charges sur une seul ligne et de supprimer tous mes doublons .

Exemple

NUM NOM PRENOM CHARGES
----------- ---------------- --------
33 DUPONT marc 51
33 DUPONT marc 8
33 DUPONT marc 1

Moi je veux obtenir
NUM NOM PRENOM CHARGES
----------- ---------------- --------
33 DUPONT marc 60(51+8+1)

Vous avez une piste ?

2 réponses

Messages postés
1468
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
26 octobre 2021
146
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.
Messages postés
24
Date d'inscription
lundi 4 février 2013
Statut
Membre
Dernière intervention
28 avril 2014

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é.
Messages postés
1468
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
26 octobre 2021
146
Oops, j'ai pas fais attention. Je suis désolé mais je ne peux pas vous aider... Je n'y connais rien a access :/
Messages postés
24
Date d'inscription
lundi 4 février 2013
Statut
Membre
Dernière intervention
28 avril 2014

personne ne peu m'aider ?
Messages postés
1468
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
26 octobre 2021
146
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.