|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Étudiant Inscription : mai 2011 Messages : 17 ![]() |
J'ai une table qui a un problème de qualité de donné et j'aimerai corriger les erreurs:
chaque ID doit correspondre à un auteur ou plusieurs auteurs avec chacun leur adresse. une colonne non renseigné prend la valeur -1. Donc je veux prendre ce qui manque les premiers adresse dessous et les faire remonter en dessus et les faire correspondre aux auteurs dans l'ordre alphabétique. en entrée j'ai : ID.............authors_ID ..............adress_id 1............... 4............................-1 1............... 5............................-1 1............... -1...........................A 1............... -1............................B 2............... 1............................-1 2............... 2............................-1 2............... 3............................-1 2...............-1............................D 2............... -1............................E 2................-1.............................F en sorti je veux avoir: ID.............authors_ID ..............adress_id 1............... 4...........................A 1............... 5............................B 2................1.............................D 2................2.............................E 2................3.............................F |
|
|
00
|
|
|
#2 | ||
|
Membre habitué
![]() Consultant informatique Inscription : mars 2002 Messages : 211 ![]() |
Salut voici une solution:
Il y a probablement moyen de le faire autrement mais ceci fonctionne. J'avoue aussi avoir été perturbé par ton ID: Que deux auteurs aient le même ID, je peux le comprendre. (un livre écrit par deux auteurs) Mais que deux adresses aient le même ID -->? Comment peux-tu savoir quelle adresse va à quel auteur? Sinon si ton fichier source suit bien le même schéma que ce que tu nous a montré (le même ordre, le même nombre d'adresses que d'auteurs...), tu peux essayer comme ceci. Code :
|
||
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Étudiant Inscription : mai 2011 Messages : 17 ![]() |
il s'agit des articles écrit par un ou plusieurs auteurs. chaque auteur à son propre adresses.
Donc on a pris un echantillon pour calculer la marge d'erreur. il s'est avérer que, pour chaque article, les N auteurs, dans l'ordre croissant, correspondent aux N adresses dans l'odre croissant |
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Consultant informatique Inscription : mars 2002 Messages : 211 ![]() |
Ok, donc ça solutionne ton problème ou pas?
|
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Étudiant Inscription : mai 2011 Messages : 17 ![]() |
Non ça règle pas mon problème car le ID du l'article ne doit pas être changé. il reste le même. J'ai besoin juste de faire correspondre mes auteurs dans l’ordre croissant au adresse dans l’ordre croissant.
|
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() Consultant informatique Inscription : mars 2002 Messages : 211 ![]() |
Euh..
L'id de tes articles, je ne le change pas. --> il reste "ID". En fait je rajoute juste un "id2" pour faire la jointure. Pour le fait de faire correspondre dans l'ordre croissant, c'est aussi dans mon code (proc sort) Tu as essayé mon code? Sinon, je pense pas vraiment comprendre ton problème.... pourtant j'ai fait le test avec les même entrées que tu as données et j'obtiens la sortie que tu as demandé
|
|
|
00
|
|
|
#7 | ||
|
Membre éclairé
![]() statisticien Inscription : mai 2011 Messages : 212 ![]() |
Bonsoir
Une autre solution avec la proc transpose si toutes tes variables identifiants sont caractères Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com