Date: prev next · Thread: first prev next last
2010 Archives by date, by thread · List index


Bonjour François,

Je pense également que le module Base n'est pas utilisable actuellement car la moindre jointure simple ne fonctionne pas et c'est quand même une opération que l'on est amené à effectuer très souvent.

J'ai bien envie de tester aussi quelques autres petites choses comme le prédicat NULL ou les clauses GROUP BY, HAVING pour voir comment LibO réagit.

Les SELECT imbriqués ont l'air de fonctionner (nous avons chacun un cas qui fonctionne).

Bonne journée,

Bernard

Le 26/10/2010 02:03, François Gatto a écrit :
Bonjour Bernard,

Le 25/10/2010 18:38, ribotb a écrit :
Bonsoir François

Mais est-ce que tu as essayé sous OOo les exemples de requêtes (des cas
d'école) que j'ai envoyées ? Chez moi (Win 7, je n'ai pas fait le test
sous XP SP3), ces requêtes donnent le résultat escompté avec OOo mais
pas avec LibO (une seule en fait, mais j'ai un doute, c'est peut-être un
coup de chance :-)).

De plus dans une "vraie" base que j'ai envoyée à Sophie la jointure tout
ce qu'il y a de plus "normale" ne fonctionne pas alors qu'une autre, un
peu plus complexe, fonctionne.

Ça, ça marche :
SELECT "TbEditeurs"."éditeur" FROM "TbEditeurs" WHERE
"TbEditeurs"."éditeur" NOT IN ( SELECT DISTINCT "TbEditeurs"."éditeur"
FROM "TbEditeurs", "TbLogiciels" WHERE "TbEditeurs"."IdEdt" =
"TbLogiciels"."IdEdt" ) ORDER BY "TbEditeurs"."éditeur"

Ça, plus simple, ça ne marche pas :
SELECT "TbEditeurs"."éditeur", "TbLogiciels"."logiciel",
"TbLogiciels"."level" FROM "TbEditeurs", "TbLogiciels" WHERE
"TbEditeurs"."IdEdt" = "TbLogiciels"."IdEdt" ORDER BY
"TbEditeurs"."éditeur", "TbLogiciels"."logiciel"

Bernard

En effet je viens de tester tes exemples de requêtes et je confirme :( les incapacités /provisoires/ de LO à gérer correctement ces extractions que OOo traite correctement.

J'ose espérer que ces dysfonctionnements seront rapidement résolus car aujourd'hui un certain nombre d'utilisateurs est demandeur de traitements à partir de bases de données et leur présenter LO en l'état me parait périlleux.

François Gatto


Le 25/10/2010 18:18, François Gatto a écrit :
Bonsoir Bernard,

Le 24/10/2010 19:56, ribotb a écrit :
Sophie

J'ai préparé une petite base avec toutes sortes de requêtes de
jointures. Il n'y en a qu'une seule qui semble fonctionner avec LibO.

Explication des requêtes :
- equi-jointure : jointure simple qui affiche le libellé du sexe pour
chaque étudiant
- auto-jointure : Affiche le numéro des étudiants qui ont une note dans
la matière numéro 1 inférieure à la note qu'ils ont obtenue dans la
matière numéro 2.
- théta-jointure : Affiche pour chaque étudiant, combien se trouvent
avant lui sur la liste alphabétique des
noms.
- jointure externe gauche : affiche tous les étudiants, qu'ils aient ou
non une note. Si un étudiant n'a pas de
note, le champ Numetu de la table correspondante (NOTES) aura la valeur
NULL.
- jointure externe droite : affiche tous les étudiants qui ont au moins
une note.
- jointure externe complète (ex 1) * : Affiche le nom des étudiants qui
n'ont aucune note.
- Jointure externe complète (ex. 2) : Affiche pour chaque étudiant,
combien se trouvent avant lui sur la liste alphabétique des noms.

* c'est la seule qui donne le même résultat avec OOo et LibO.

J'envoie ma base et les résultats donnés par OOo avec cijoint parce que
je ne suis pas sûr que ça passe en pj :
- la base :
http://www.cijoint.fr/cjlink.php?file=cj201010/cijxJ6zB5v.odb
- les résultats (OOo) :
http://www.cijoint.fr/cjlink.php?file=cj201010/cijyXP2kMV.zip

Bonne soirée,

Bernard


Je poste à nouveau la réponse que j'ai faite ce matin car il semble
qu'elle n'est pas passée :

Je ne rencontre à priori pas ce genre de problème.
Je n'ai pas le temps de vérifier toute ta base, mais je viens juste de
procéder à la création d'une vue en mode SQL (et je ne crois pas que
ça pose plus de problème en mode "visual") comme suit :

CREATE VIEW "VueSexe" AS SELECT * FROM ( SELECT "ETUDIANT"."Numetu" AS
"IdEtudiant", "ETUDIANT"."Nometu" AS "Patronyme", "SEXE"."Lbsexe" AS
"Genre" FROM "ETUDIANT", "SEXE" WHERE "ETUDIANT"."Cdsexe" =
"SEXE"."Cdsexe") ORDER BY "Patronyme";

J'obtiens bien dans ta base le résultat escompté.

Cordialement
Francois Gatto

Ubuntu 10.10
LibreOffice 3.3.0 (beta 2)
OOO330m9 (Build:1)
libreoffice-build 3.2.99.2






---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 101025-1, 25/10/2010
Analyse le : 26/10/2010 09:35:18
avast! - copyright (c) 1988-2010 AVAST Software.
http://www.avast.com




--
E-mail to discuss+help@fr.libreoffice.org for instructions on how to unsubscribe
List archives are available at http://fr.libreoffice.org/lists/discuss/
All messages you send to this list will be publicly archived and cannot be deleted

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.