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
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 ?
A voir également:

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
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.
0
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
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é.
0
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
Oops, j'ai pas fais attention. Je suis désolé mais je ne peux pas vous aider... Je n'y connais rien a access :/
0
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
personne ne peu m'aider ?
0
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
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.
0