roud59
Messages postés99Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention26 juillet 2007
-
19 mars 2005 à 21:36
nouveauenanglai
Messages postés4Date d'inscriptionsamedi 10 octobre 2009StatutMembreDernière intervention10 juin 2010
-
14 juin 2010 à 09:09
Bonjour (Bonsoir) à vous tous.
J'ai posé une question (par erreur) sur DelphiFR, mais je pense trouver quelqu'un qui pourra m'aider pus faciement ici.
Voici un exemple de ce que je voudrai faire :
Soit la table dont la première colonne est COULEUR et la 2nde LETTRE et qui contient les valeurs suivantes.
rouge A
bleu B
vert A
vert C
bleu C
vert A
rouge C
rouge C
bleu B
Je voudrais avoir comme résultat de la requète, une table contenant une ligne par couleur et une colonne par lettre indiquant le nombre de couples Couleur/Lettre trouvés dans la table :
rouge 1(nombre de A) 0(nombre de B) 2(nombre de C)
bleu 0 2 1
vert 2 0 1
Si il y a des D dans la table, ils ne seront pas comptés (colonnes statiques).
J'ai essayé avec des Count et Group by, mais je ne crois pas être sur le bon chemin. J'utilise Paradox. Si quelqu'un a une idée ...
roud59
Messages postés99Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention26 juillet 20072 22 mars 2005 à 09:41
Bonjour Trinita16 et merci pour ta réponse essayée avec une table MaTable :
Couleur | Lettre
--------+-------
rouge | A
bleu | B
vert | A
vert | C
bleu | C
vert | A
rouge | C
rouge | C
bleu | B
et j'ai tapé (pour le rouge)
select "rouge" as LaCouleur, Sum(A) as A, Sum(B) as B
from Matable
where couleur = "rouge"
group by couleur
Et là il me fait une erreur sur les sum() : nom de champ incorrect. J'ai essayé avec Sum(Lettre="A") ou Count(Lettre="A") mais cela ne fonctionne pas non plus. C'est peut être paradox qui n'accepte pas cette syntaxe.
J'avais essayé ceci :
select Couleur, Count(Lettre) as A from MaTable where Lettre = "A" group by couleur
et obtenu :
Couleur | A
--------+---
rouge | 1
vert | 2
C'est presque ce que je veux, mais il faut faire des réunions de colonnes (celle du B puis celle du C) et pas de lignes comme UNION (ALL) le fait.