Supprimer des doublons en sql sous ACCESS
melongourmand
Messages postés
24
Date d'inscription
Statut
Membre
Dernière intervention
-
Exileur Messages postés 1475 Date d'inscription Statut Membre Dernière intervention -
Exileur Messages postés 1475 Date d'inscription Statut Membre Dernière intervention -
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 ?
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:
- Access supprimer les doublons
- Supprimer rond bleu whatsapp - Guide
- Supprimer une page word - Guide
- Supprimer les doublons excel - Guide
- Doublons photos - Guide
- Supprimer pub youtube - Accueil - Streaming
2 réponses
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.
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é.