[users-fr] OOo2 - Base - Plantage requête complexe
Bonjour, Je réalise une requête complexe sur une BDD SQLite à partir du module Base. J'ai un gros souci. Quand j'exécute cette requête ou un dérivé, ça plante tout OOo. Quand j'édite la requête en mode création, je fais mes liens et tout, et puis à un moment donné, quand j'avance dans la complexité, et que surtout je ferme le mode création et l'ouvre à nouveau, c'est liens apparaissent dans la ligne critère dédiée à chaque champs. Je pense que ces lié. Pour vous donner un apperçu de la complexité de la requête, voilà ce que ça donne en version sql: SELECT "Depenses_Codes"."ID", "Depenses_Codes"."Num_Code_Dep", "Depenses_Codes"."Nom_Code_Dep", "Depenses_Types"."CoutUnit_Dep_Type_Prev", "Depenses_Prev"."Qte_Dep_Prev", SUM( "Depenses_Type"."CoutUnit_Dep_Type_Prev" * 5 ), "Actions"."ID_Projet" FROM "Actions" "Actions", "Depenses_Prev" "Depenses_Prev", "Depenses_Types" "Depenses_Types", "Depenses_Codes" "Depenses_Codes" WHERE ( "Actions"."ID" = "Depenses_Prev"."ID_Action" AND "Depenses_Types"."ID" = "Depenses_Prev"."ID_Dep_Type" AND "Depenses_Codes"."ID" = "Depenses_Types"."ID_Code_Dep" ) AND ( ( "Actions"."ID_Projet" = 1 ) OR ( "Actions"."ID_Projet" = 5 ) ) GROUP BY "Depenses_Codes"."ID" Qu'en pensez-vous??? Merci, Ludo - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [users-fr] OOo2 - Base - Plantage requête complexe
Bonjour, quelle est ta version exacte d'Ooo ? Quel Os ? Combien d'enregistrement dans les tables ? Pourquoi FROM "actions" "actions" N'aurais tu pas une table en trop que tu ne vois pas, sans jointure (l'ascenseur à la salle habitude de nous jouer des tours) Je vais justement tester des regroupements aujourd'hui et je ferai le retour sur les pb éventuellement rencontrés. Marie jo Ludovic CHEVALIER a écrit : Bonjour, Je réalise une requête complexe sur une BDD SQLite à partir du module Base. J'ai un gros souci. Quand j'exécute cette requête ou un dérivé, ça plante tout OOo. Quand j'édite la requête en mode création, je fais mes liens et tout, et puis à un moment donné, quand j'avance dans la complexité, et que surtout je ferme le mode création et l'ouvre à nouveau, c'est liens apparaissent dans la ligne critère dédiée à chaque champs. Je pense que ces lié. Pour vous donner un apperçu de la complexité de la requête, voilà ce que ça donne en version sql: SELECT "Depenses_Codes"."ID", "Depenses_Codes"."Num_Code_Dep", "Depenses_Codes"."Nom_Code_Dep", "Depenses_Types"."CoutUnit_Dep_Type_Prev", "Depenses_Prev"."Qte_Dep_Prev", SUM( "Depenses_Type"."CoutUnit_Dep_Type_Prev" * 5 ), "Actions"."ID_Projet" FROM "Actions" "Actions", "Depenses_Prev" "Depenses_Prev", "Depenses_Types" "Depenses_Types", "Depenses_Codes" "Depenses_Codes" WHERE ( "Actions"."ID" = "Depenses_Prev"."ID_Action" AND "Depenses_Types"."ID" = "Depenses_Prev"."ID_Dep_Type" AND "Depenses_Codes"."ID" = "Depenses_Types"."ID_Code_Dep" ) AND ( ( "Actions"."ID_Projet" = 1 ) OR ( "Actions"."ID_Projet" = 5 ) ) GROUP BY "Depenses_Codes"."ID" Qu'en pensez-vous??? Merci, Ludo - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --- Wanadoo vous informe que cet e-mail a ete controle par l'anti-virus mail. Aucun virus connu a ce jour par nos services n'a ete detecte. -- -- Marie jo KOPP CASTINEL Sté IDKAL Membre du projet OpenOffice.org http://www.idkal.com http://fr.openoffice.org - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [users-fr] OOo2 - Base - Plantage requête complexe
Ludovic CHEVALIER wrote: Bonjour, Pour vous donner un apperçu de la complexité de la requête, voilà ce que ça donne en version sql: SELECT "Depenses_Codes"."ID", "Depenses_Codes"."Num_Code_Dep", "Depenses_Codes"."Nom_Code_Dep", "Depenses_Types"."CoutUnit_Dep_Type_Prev", "Depenses_Prev"."Qte_Dep_Prev", SUM( "Depenses_Type"."CoutUnit_Dep_Type_Prev" * 5 ), "Actions"."ID_Projet" Dans OOo la fonction SUM est considérée comme une fonctione d'agrégation FROM "Actions" "Actions", "Depenses_Prev" "Depenses_Prev", "Depenses_Types" "Depenses_Types", "Depenses_Codes" "Depenses_Codes" Donc, interrogation de 4 tables, jusqu'ici a priori pas de prob. WHERE ( "Actions"."ID" = "Depenses_Prev"."ID_Action" AND "Depenses_Types"."ID" = "Depenses_Prev"."ID_Dep_Type" AND "Depenses_Codes"."ID" = "Depenses_Types"."ID_Code_Dep" ) AND ( ( "Actions"."ID_Projet" = 1 ) OR ( "Actions"."ID_Projet" = 5 ) ) GROUP BY "Depenses_Codes"."ID" Je pense que le problème vient ici avec la deuxième fonction d'agrégation représentée par GROUP BY. Dans l'expérience que j'ai avec OOoBase, il est difficile voire impossible d'utiliser deux fonctions d'agrégation dans la même reqûête, surtout lorsqu'on établit la requête sur plusieurs tables. Est-ce que ta requête fonctionne si tu enlèves l'instruction GROUP BY ? Alex - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [users-fr] OOo2 - Base - Plantage requête complexe
Marie jo KOPP CASTINEL wrote: Bonjour, Pourquoi FROM "actions" "actions" C'est OOo qui met ça deux fois, comme les parenthèses doubles avec un espace entre la parenthèse ouvrante et la parenthèse fermante. OOo est très exigeant (j'entends pénible) à ce niveau, car en ligne de commande les requêtes SQL n'ont pas normalement à être bourrées d'espaces comme OOo le fait. Je vais justement tester des regroupements aujourd'hui et je ferai le retour sur les pb éventuellement rencontrés. Eh ben, tu vas pas être déçue du voyage (ou si, justement) ;-) Alex - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [users-fr] OOo2 - Base - Plantage requête complexe
Bonjour, Marie jo KOPP CASTINEL a écrit : Bonjour, quelle est ta version exacte d'Ooo ? OOo2.0.1 Quel Os ? Debian 3.1 Combien d'enregistrement dans les tables ? Table Depenses_Codes, environ 50 Table Depenses_Types, environ 50 Table Depenses_Codes, environ 50 Table Depenses_Prev, environ 600 Table Actions, environ 100 Pourquoi FROM "actions" "actions" N'aurais tu pas une table en trop que tu ne vois pas, sans jointure (l'ascenseur à la salle habitude de nous jouer des tours) Voir réponse d'Alex ci-dessous. Je vais justement tester des regroupements aujourd'hui et je ferai le retour sur les pb éventuellement rencontrés. OK. Si tu le souhaites. Merci, Ludo - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [users-fr] OOo2 - Base - Plantage requête complexe
Salut! Alex Thurgood a écrit : Ludovic CHEVALIER wrote: [...] Donc, interrogation de 4 tables, jusqu'ici a priori pas de prob. OK. Y'a un nombre limite de tables??? WHERE ( "Actions"."ID" = "Depenses_Prev"."ID_Action" AND "Depenses_Types"."ID" = "Depenses_Prev"."ID_Dep_Type" AND "Depenses_Codes"."ID" = "Depenses_Types"."ID_Code_Dep" ) AND ( ( "Actions"."ID_Projet" = 1 ) OR ( "Actions"."ID_Projet" = 5 ) ) GROUP BY "Depenses_Codes"."ID" Je pense que le problème vient ici avec la deuxième fonction d'agrégation représentée par GROUP BY. Dans l'expérience que j'ai avec OOoBase, il est difficile voire impossible d'utiliser deux fonctions d'agrégation dans la même reqûête, surtout lorsqu'on établit la requête sur plusieurs tables. OK. Est-ce que ta requête fonctionne si tu enlèves l'instruction GROUP BY ? Oui. En effet. Y-a t-il moyen de contourner le pb avec via la BDD (pas un tableur)??? Merci, Ludo - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [users-fr] OOo2 - Base - Plantage requête complexe
J'ai peut-être une piste. Je précise que je fais tout ça en mode sql direct (requête > créer une requête en mode sql, et icône sql cochée) requête 1: SELECT "adherents"."nom", SUM("credit") AS "totcredit", SUM("debit") AS "totdebit" FROM "adherents", "compta" WHERE "adherents"."id" = "compta"."ref_adh" GROUP BY "nom" fonctionne bien ... si j'essaye (requête 2): SELECT "adherents"."nom", "adherents"."prenom", SUM("credit") AS "totcredit", SUM("debit") AS "totdebit" FROM "adherents", "compta" WHERE "adherents"."id" = "compta"."ref_adh" GROUP BY "nom" j'ai une erreur "not in agregate function, bla bla bla ..." mais si je rajoute à la requête 2 le champ "prenom" dans la clause GROUP BY, et bien ça marche .. requête 3: SELECT "adherents"."nom", "adherents"."prenom", SUM("credit") AS "totcredit", SUM("debit") AS "totdebit" FROM "adherents", "compta" WHERE "adherents"."id" = "compta"."ref_adh" GROUP BY "nom", "prenom" idée qui m'est venue en lisant http://sqlpro.developpez.com/cours/sqlaz/ensembles/ La présence de la clause GROUP BY est nécessaire dès que la clause de sélection, ou le filtre WHERE, ou encore les jointures comportent simultanément des calculs d'agrégation et la présence de colonnes de table hors de calculs d'agrégation. De plus, outes les colonnes représentées hors des calculs d'agrégation doivent figurer dans la clause GROUP BY. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [users-fr] OOo2 - Base - Plantage requête complexe
Bonjour, Manuel NAUDIN a écrit : La présence de la clause GROUP BY est nécessaire dès que la clause de sélection, ou le filtre WHERE, ou encore les jointures comportent simultanément des calculs d'agrégation et la présence de colonnes de table hors de calculs d'agrégation. De plus, outes les colonnes représentées hors des calculs d'agrégation doivent figurer dans la clause GROUP BY. Ça a l'air de fonctionner sur OOo1.1.5, donc sur la v2 ... Je n'ai pas encore tout testé, mais c'est de bon augure. Par contre, quand je cherche à modifier la requête, OOo me réinterprète automatiquement ma commande SQL en doublant les nom de table (après le from) et en signalisant les liens par des "HAVING" plutôt que des "WHERE". N'y a t-il pas moyen d'accéder à la requête directement en SQL plutôt que de passer par le mode graphique qui réinterprète tout et mal??? Merci de ton aide, Ludo - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [users-fr] OOo2 - Base - Plantage requête complexe
> Ça a l'air de fonctionner sur OOo1.1.5, donc sur la v2 ... Je n'ai pas > encore tout testé, mais c'est de bon augure. tant mieux ... > Par contre, quand je cherche à modifier la requête, OOo me réinterprète > automatiquement ma commande SQL en doublant les nom de table (après le > from) et en signalisant les liens par des "HAVING" plutôt que des "WHERE". > > N'y a t-il pas moyen d'accéder à la requête directement en SQL plutôt > que de passer par le mode graphique qui réinterprète tout et mal??? chez moi sous OOo 2.0.2rc4, quand je fais un clic-droit (ou ctrl-click) sur la requête, et que je choisis "modifier", c'est l'éditeur direct sql qui s'ouvre. (En tout cas pour les requêtes que je crée en mode sql direct) > > Merci de ton aide, avec plaisir - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]