fricard.claude a écrit :
Qui peut me dire pourquoi dans la base ci-jointe la requête:
R_CPTE_ROMANS fonctionne et celle nommée: Requête 1 qui est
équivalente, ne fonctionne pas ? le moteur HSQL donnerait-il dans le
mode aléatoire ?
Avec Base de OOo il faut s'accrocher ...
Claude
Bonjour,
Il ne faut pas toujours considérer que le logiciel est en cause ;
parfois, le bug est entre l'écran et le fauteuil...
Tu trouveras à cette adresse,
http://www.cijoint.fr/cjlink.php?file=cj200906/cijNc1qPXQ.odt, 3 copies
d'écran ; les deux premières correspondent à tes deux requêtes ; la
troisième (sur la deuxième page du fichier) te propose une correction de
la Requête 1 qui lui permette de fonctionner de la façon dont je suppose
que tu veux qu'elle fonctionne.
La difficulté majeure, quand on commence avec les fonctions d'agrégat
dans SQL, c'est la clause de regroupement (celle qui s'appelle "Groupe"
dans le mode ébauche et qui s'énonce "Group by" en langage SQL) ; pour
ma part, j'ai fini par réussir à les utiliser quand, loin de toutes les
explications techniques, j'ai retenu qu'il fallait placer, derrière le
"Group by", tous les champs qui figuraient derrière le "Select" et qui
n'étaient pas affectés d'une fonction d'agrégation.
Par exemple dans une requête débutant par :
select count(Id) as "Nbre", auteur, type_ouvrage, sum(ventes) as
"Diffusion" from collection
il va te falloir insérer un Group by si tu veux que ta requête
fonctionne et derrière ce Group by, devront figurer les champs auteur et
type_ouvrage ; ça donnera :
select count(Id) as "Nbre", auteur, type_ouvrage, sum(ventes) as
"Diffusion" from collection Group by auteur, type_ouvrage.
Cette requête te donnera le nombre de romans, de nouvelles, de pièces de
théâtre écrites par chaque auteur présent dans la table "collection"
ainsi que le nombre vendu pour chaque type d'ouvrage ; quelque chose du
genre :
4 Victor Hugo Roman 250.000
2 Victor Hugo Théâtre 123.000
3 Arthur Rimbaud Poésie 140.000
14 Molière Théâtre 364.000
8 Jean-Paul Sartre Roman 56.000
3 Jean-Paul Sartre Théâtre 42.000
2 Jean-Paul Sartre Essai 68.000
Bon courage.
A+
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]