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]

Répondre à