[users-fr] OOo2 - Base - Plantage requête complexe

2006-03-16 Thread Ludovic CHEVALIER

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

2006-03-16 Thread Marie jo KOPP CASTINEL

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

2006-03-16 Thread Alex Thurgood

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

2006-03-16 Thread Alex Thurgood

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

2006-03-17 Thread Ludovic CHEVALIER

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

2006-03-17 Thread Ludovic CHEVALIER

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

2006-03-17 Thread Manuel NAUDIN
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

2006-03-17 Thread Ludovic CHEVALIER

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

2006-03-17 Thread Manuel NAUDIN
> Ç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]