|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Delphine Etudiante en BTS Informatique de Gestion Inscription : janvier 2010 Messages : 6 ![]() |
Bonjour à tous,
Vous allez peut-être me dire que c'est très simple et évident, enfin je n'en sais rien, mais étant bloquée dessus depuis hier matin, je me décide enfin à poster sur le forum car je n'ai pas trouvé de réponse à ma question. Je n'ai plus beaucoup de temps, je suis en stage jusqu'à vendredi soir, après je ne pourrais plus modifier l'application et je reprend les cours dès lundi... Alors voilà : Dans ma table "prise", j'ai par exemple les 2 enregistrements suivants : Nom_user | num_tel | num_ordi Pierre Dupond | NULL | A0001 Pierre Dupond | 0243531234 | NULL Antoine Martin | 0243535678 | B1234 ... | ... | ... Dans cette table 'prise', il y a d'autres champs mais je n'en ai pas besoin pour l'affichage que je dois avoir dans ma page. Je souhaiterais transformer les 2 enregistrements concernant 'Pierre Dupond' en un seul pour que cela devienne : Nom_user | num_tel | num_ordi Pierre Dupond | 0243531234 | A0001 Antoine Martin | 0243535678 | B1234 ... | ... | ... Auriez-vous une réponse à ma recherche, svp ? Je ne sais pas si ma demande est claire ou s'il faut plus d'informations, à vrai dire, c'est la première fois que je demande de l'aide en informatique sur un forum (quel qu'il soit)... Merci de m'avoir lu et de m'aider si vous avez une solution |
|
|
00
|
|
|
#2 | ||||
![]() ![]() |
Comme il peut, dans l'aboslu, y avoir plusieurs utilisateurs portant le même nom, as-tu d'autres colonnes qui permettent de distinguer les Nom_user en double mais qui sont bel et bien deux personnes différentes ?
Normalement, tu devrais pouvoir enchaîner les requêtes suivantes : Code :
Il te faudrait alors passer par des tables temporaires : Code :
Bref, si tu as besoin ensuite de supprimer les doublons, il faut nous détailler un peu plus la structure de la table. Par exemple en nous donnant le résultat complet de cette requête : Si c'est juste pour de l'affichage et que les doublons dans la table ne te gênent pas, alors fais un SELECT DISTINCT
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||||
|
10
|
|
|
#3 | ||
|
Invité de passage
![]() Delphine Etudiante en BTS Informatique de Gestion Inscription : janvier 2010 Messages : 6 ![]() |
Merci beaucoup CinePhil pour ton aide.
Voici le résultat de la requete "SHOW CREATE TABLE priseinsert", je n'ai rien modifié mis à part les retour à la ligne : Code :
Les index1 et index2 correspondent à l'insert dans lequel est branché le téléphone ou le micro. (index1<>index2) Le dispositif indique simplement s'il y a un hub (ou switch, etc) ou pas. Les T_0 et R_0 indiquent si l'insert est pour T (téléphone) ou R (réseau : micro), le 0 indique que la place est libre (ni T ni R n'est donc prévu, on y met ce que l'on veut). Libre_occupe 1 et 2 indique comme leur nom l'exprime si la place est libre ou occupée par un micro ou un téléphone. Le num_tel est bien sur le numéro de téléphone et num_micro, le numéro du micro connecté dans l'insert. Le bureau indique le numéro de bureau dans lequel il se trouve. L'agent (=nom_user) indique l'utilisateur du téléphone et du micro. A noté que le téléphone peut être sur une prise et le micro sur une autre et qu'un utilisateur peut avoir soit le téléphone (cas rare mais existant), soit le micro, soit les 2. ex : Num_prise | index1 | dispositif | T_0 | Libre_occupe_1 | num_tel | index2 | R_0 | Libre_occupe_2 | num_micro | bureau | agent 114/1 | a | hub | T | occupe | 0243530573 | b | R | occupe | GM119 | 114 | Patricia Durand 114/1 | c | hub | T | occupe | 0243535046 | d |R |occupe | GM569 | 114 | Caroline Dupont 115/1 | a | | T | occupe |0243530276 | b | R | occupe | GM775 | 115 | Solange Martin BH03a | a | | 0 | libre | NULL | b | R | occupe| B2843 | 301 | Pierre Dupond BH04a | a | | T | occupe |0243531234 | b | 0 |libre | NULL | 301 | Pierre Dupond BB05a | a | | 0 | libre | | b | 0 | libre | | 358 | . . . |. . . | . . . | . . . | . . . | . . . | . . . | . . . | . . . | . . . | . . . | . . . Je ne peux donc pas modifier directement dans ma table 'priseinsert' car elle reprend tout le plan de l'entreprise bureau par bureau et prise par prise. Il faut donc que je crée une autre table (ex: prise) pour y mettre uniquement les informations nécessaires pour mon affichage du micro et du téléphone en fonction de l'utilisateur, c'est bien ça ? Pour se faire, je copie la table priseinsert dans prise et je fais la modification comme celle que tu as fais dans ton 2ème exemple ? Merci de ton aide |
||
|
|
00
|
|
|
#4 | ||||
|
Invité de passage
![]() Delphine Etudiante en BTS Informatique de Gestion Inscription : janvier 2010 Messages : 6 ![]() |
J'ai créé une nouvelle table 'priseinsert_simplifie', simplifiée car j'ai enlevé quelques champs. Mais d'ailleurs je pourrais encore enlever Num_prise, index1 et index2...
Code :
Code :
Je vais continuer à chercher une solution, en espèrant finir par la trouver |
||||
|
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Delphine Etudiante en BTS Informatique de Gestion Inscription : janvier 2010 Messages : 6 ![]() |
Bonjour,
Un ami m'a trouvé la solution pour afficher toutes les informations sur une seule ligne par utilisateur. Peut-être que d'autres personnes auront le même problème que moi alors voici la solution : Code :
Je signale le post résolu... |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com