|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : mars 2011 Messages : 14 ![]() |
Bonjour à tous,
Je bloque sur un traitement sql et j'aimerai avoir votre aide. Je m'explique: J'ai dans une table 1 champ regroupant un ensemble d'id et de poids, séparé par un ";" eux mêmes séparés d'autres ID par un "|". Citation:
Ce que j'aimerai faire, c'est regrouper les différents ID et calculer un poids unique en additionnant les différentes valeurs. L'objectif est donc d'obtenir cela : Citation:
Merci |
||
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Alain Inscription : novembre 2005 Messages : 897 ![]() |
Salut
Tu as peut-être des raisons particulières pour souhaiter tout regrouper dans un seul champ, mais je trouve un peu étrange cette façon de procéder. Et si je comprends bien, tu veux obtenir le cumul "poids" associé à chaque "id". (?) => ID visiblement non auto-incrementé. Perso, j'utiliserais au moins 2 tables ce qui faciliterait le traitement des différentes données (calcul) et les présenter comme tu l'entends.
__________________
Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre. C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 14 ![]() |
Effectivement, ça peut sembler étrange mais c'est le seul moyen que j'ai trouvé pour limiter le nbre d'enregistrement dans la table.
En fait, je souhaite associer ensemble tout ce qu'un membre ajoute dans ses favoris. Imaginons qu'un membre ajoute 10 sites à ses favoris, ce fonctionnement me permet ainsi de ne faire que 10 enregistrements dans la table. 1 enregistrement par favoris, associés aux 9 autres. Alors que si je crée une entrée pour chaque association, dans ce cas j'arrive à 90 entrées. Tu imagines si j’atteins 200 000 sites associés, j'en serai à 2 millions d'enregistrements ! Ca serait ingérable ! Quel serais ton idée avec 2 tables ? |
|
|
00
|
|
|
#4 | ||
|
Membre émérite
![]() Alain Inscription : novembre 2005 Messages : 897 ![]() |
Dans une première table "membres", tu enregistres les différents membres, ainsi que certaines données utiles (email, adresse, etc..) si nécessaire.
Chaque enregistrement est identifié par un id (auto-incrémenté). Dans une seconde table "favoris", tu crées 2 champs. Exemple : - id-membre - site Puisque tu peux récupérer l'id d'un membre dans ta table "membres", il est facile ensuite de créer une nouvelle ligne dans ta table "favoris". Exemple : Code :
__________________
Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre. C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles. |
||
|
|
00
|
|
|
#5 | |||
|
Invité de passage
![]() Inscription : mars 2011 Messages : 14 ![]() |
Citation:
L'idée c'est que site le membre 14 et 120 ajoute tous les 2 le site EEE, dans ce cas je dois ajouter les différentes combinaison à tous les membres. Ca donnerai ça : id-membre : 14 favoris : Site EEE id-membre : 14 favoris : Site RRR id-membre : 14 favoris : Site TTT id-membre : 14 favoris : Site DDD id-membre : 14 favoris : Site SSS id-membre : 120 favoris : Site EEE id-membre : 120 favoris : Site RRR id-membre : 120 favoris : Site TTT id-membre : 120 favoris : Site DDD id-membre : 120 favoris : Site SSS J'obtiens ainsi bcp (trop) d'enregistrement dans la table. C'est pour cela que j'aimerai ne faire qu'un enregistrement par membre en y incluant une liste de site plutôt qu'une enregistrement par favoris. Une autre idée ? |
|||
|
|
00
|
|
|
#6 | ||
|
Membre émérite
![]() Alain Inscription : novembre 2005 Messages : 897 ![]() |
Oui, j'avais bien compris, d'ailleurs j'aurais pu aussi te suggérer cet exemple :
Code :
Ensuite, je ne vois pas en quoi celà peut gêner d'avoir trop d'enregistrements. Une base de données, c'est fait pour celà. Maintenant, si comme tu le souhaites ne faire qu'un seul enregistrement par membre, et collecter dans ce même champ unique toutes les infos relatives à un membre, je te souhaite bien du courage pour la présentation de ces données.
__________________
Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre. C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com