1

Bonjour à tou(te)s,

J'ai deux tables:

TblCitation-> champs :

*[IdNum] (=un numéro attribué à chaque citation. Champ clef.)
[IdCitationUnique] (=numérique)
[Citation] (=du texte de + de 255 acract, donc type memo)
[source] (=titre d'oeuvre=> du texte)

Les citations entrées dans la base peuvent apparaitre plusieurs fois. Le champ [IdCitationUnique] permet d'attribuer à une même citation apparaissant dans plusieurs sources un même numéro.


TblAnalyse -> champs:

*[CitationUnique] (= clef de ma seconde table.)
Dans cette table, j'ai différents champs d'études et d'analyse pour une citation donnée.

Je souhaite inclure dans ma tbl2 un champ [sources] où je pourrai visualiser en une cellule les sources associées à 1 citation, de type:


TblCitation.[citation] = "cit1"
TblCitation.[Source] = "source1"
TblCitation.[Source] = "source2"

TblAnalyse.[CitationUnique] = "cit1"
TblAnalyse.[Sources] = "source1 ; source2"

Puis-je le faire à partir d'une requête? Ou avec une instruction VBA?

Au secooooooooours!!!!!! Y'a -t-il quelqu'un qui a une idée???
D'avance merci

beta

2

Select * from tbl2 group by citation

enfin d'après ce que j'ai compris de ta question...
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

3

Si j'ai bien compris, tu as :
TblCitationIdNum
IdCitationUniqueCitationSource
............
133742Je suis la Réponse.Le Guide
............
144253Je suis la Question.yAronet
............
166442Je suis la Réponse.H2G2
............
TblAnalyseCitationUnique
AnalyseEtudeTrucSources
...............
42C'est vrai.Et pourquoi pas 53 ?MachinXXXX
...............
53Ça aussi c'est vrai.Un peu comme 42, non ?ChoseYYYY
...............

Et tu voudrait faire en sorte que XXXX prenne la valeur "Le Guide ; H2G2" et que YYYY prenne la valeur "yAronet"... c'est bien ça ?

Déja, sans rapport avec ta question, je te conseille de déplacer [Citation] de TblCitation vers TblAnalyse, ça évitera les doublons sur le texte « Je suis la Réponse. », par exemple.

Ensuite, et si, au lieu de "Le Guide", j'avais "H2 ; G2" ?
En remplissant XXXX, tu obtiendrais "H2 ; G2 ; H2G2", soit apparemment 3 sources au lieu de 2, et même si tu sais que tu n'as que 2 sources, tu risques d'avoir comme sources "H2" et "G2 ; H2G2", sources fausses.
Bref, à moins d'utiliser comme séparateur un caractère interdit dans un texte de source normal, ce n'est pas viable.
En outre, certes, la colonne [Sources] de TblAnalyse permet d'accéder immédiatement à toutes les sources d'une citation donnée, mais il y a duplication d'information avec TblCitation, et ça, çay Mal.
Dès que tu modifies TblCitation, tu es obligé de mettre à jour TblAnalyse pour garder la cohérence du tout, ce qui est à l'opposé de la philosophie des bases de données relationnelles (qui, comme leur nom l'indique, s'appuient justement sur les relations entre différentes tables pour faire disparaître toute duplication d'information utile).
Bref, si tu veux toutes le sources de la citation 42, oublie la colonne [Sources] de TblAnalyse, c'est une très mauvaise idée, et va chercher l'information à sa source, dans la colonne [Source] de TblCitation, avec « SELECT Source FROM TblCitation WHERE IdCitationUnique = 42 ; »
Tu auras un ResultSet de N lignes que tu parcoureras ensuite dans le langage de ton choix (PHP, Java, etc.) pour remplir ta liste des sources (avec une vraie implémentation de liste propre à ton langage, tant qu'à faire, plutôt que ta liste de type "source1 ; source2" avec les problèmes inhérents dont j'ai déjà parlé).
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

4

Bonjour,

Je dois faire des statistiques sur des données contenu dans un champ MOTIF d'une table MA_TABLE.



Ils sont par exemple de ce type:
Haricots|Pomme de terre|Carotte|Navets
Tomate|Carotte|Haricots
Poivrons|Haricots|Tomate
Navets
Sauce|Haricots
Poivre
Sel|Gimgembre

J'aimerai avoir le nombre d'occurrences des chaines de caractères Tomate, Poivrons, Pomme de terre, Navets, ...

Mais je ne trouve pas du tout comment faire avec une requête SQL ...

Si je n'avais que des données simples sans pipes, c'est à dire:

Haricots
Pomme de terre
Carotte
Navets
Tomate
Carotte
Haricots
Poivrons
Haricots
Tomate
Navets
Sauce
Poivre
Sel
Gingembre




, ce serait plus simple d'écrire:

SELECT MOTIF, COUNT(MOTIF) AS NB
FROM MA_TABLE
GROUP BY MOTIF

Sachant que je ne prends pas connaissance des différentes valeur que peut contenir le champs motifs.
Je veux seulement le comptage des éléments par nom d'éléments que je vais mettre dans une grille de données comme l'exemple qui suit:
Carotte 1
Gingembre 1
Haricots 4
Navets 2
Pomme de terre 1
Poivrons 1
Tomate 2
Poivre 1
Sauce 1
Sel 1










Merci de m'aider s'il vous plait.

PS: Comme les données sont confidentielles, je les ai remplacé par des noms de légumes et autres pour le fun...


5

Zut, y’a déjà un vrai topic à côté.
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.