Hello, j'ai un disfonctionnement avec l'éditeur de requête :
J'essaie de sortir une statistique avec un calcul de coefficient.
Pour ce coefficient, je dois diviser une somme, calculée avec la
fonction somme (ici "la somme de commande") par un comptage calculé sur
le nombre de commandes (le nombre de commande).Mais si je mets un calcul
qui porte sur un des champs calculés, j'ai un plantage :
Erreur d'initialisation de la requête - Une erreur système est survenue
... blabla ... transmettre au support technique.
Ce qui est marrant, c'est que même si je crée ma requête a la main en
SQL, j'ai la même erreur lors du test par F9.
Vous avez deja eu ce genre de problème ?
Code SQL de test :
***********************************
SELECT
client.IDclient AS Numero_client,
client.Nom AS Nom,
client.Prénom AS Prénom,
COUNT(*) AS nombre_commande,
SUM(client.montant) AS total_montant,
(total_montant / nombre_commande ) as coefficient
FROM
client,
commande
WHERE
Membres.IDMembres = Locations.IDMembres
GROUP BY
client.IDclient ,
client.Nom,
client.Prénom
************************************
cela n'est valable que pour les contraintes. Les requêtes ne peuvent fonctionner sans jointure.
Mat
Olivier
mat a écrit :
Olivier wrote:
J'ai une relation en client et commande :
client.ID == 0,n ========= 1;1==>commandes
cela n'est valable que pour les contraintes. Les requêtes ne peuvent fonctionner sans jointure.
Mat
Je dois avouer que je ne comprends pas trop... si je fais la requête "normale" c'est a dire sans faire de calcul, simplement je demande la somme des commandes par client et le nombre de commande, pas de soucis :
Mais si je veux insérer un calcul entre les deux valeurs TotalCde et NbreCde : boum plantage, cela me semble plus un dysfonctionnement qu'une erreur de ma part. Sous d'autre SGDB, il me semble avoir déja fait ce genre de chose sans soucis. Et l'erreur qui s'affiche n'est pas une erreur procédure "Vous n'avez pas le droit de ...", mais bien une erreur prgramme "Une erreur systeme est survenue ..."
amicalement
Olivier
mat a écrit :
Olivier wrote:
J'ai une relation en client et commande :
client.ID == 0,n ========= 1;1==>commandes
cela n'est valable que pour les contraintes. Les requêtes ne peuvent
fonctionner sans jointure.
Mat
Je dois avouer que je ne comprends pas trop... si je fais la requête
"normale" c'est a dire sans faire de calcul, simplement je demande la
somme des commandes par client et le nombre de commande, pas de soucis :
Mais si je veux insérer un calcul entre les deux valeurs TotalCde et
NbreCde : boum plantage, cela me semble plus un dysfonctionnement qu'une
erreur de ma part. Sous d'autre SGDB, il me semble avoir déja fait ce
genre de chose sans soucis. Et l'erreur qui s'affiche n'est pas une
erreur procédure "Vous n'avez pas le droit de ...", mais bien une erreur
prgramme "Une erreur systeme est survenue ..."
cela n'est valable que pour les contraintes. Les requêtes ne peuvent fonctionner sans jointure.
Mat
Je dois avouer que je ne comprends pas trop... si je fais la requête "normale" c'est a dire sans faire de calcul, simplement je demande la somme des commandes par client et le nombre de commande, pas de soucis :
Mais si je veux insérer un calcul entre les deux valeurs TotalCde et NbreCde : boum plantage, cela me semble plus un dysfonctionnement qu'une erreur de ma part. Sous d'autre SGDB, il me semble avoir déja fait ce genre de chose sans soucis. Et l'erreur qui s'affiche n'est pas une erreur procédure "Vous n'avez pas le droit de ...", mais bien une erreur prgramme "Une erreur systeme est survenue ..."
amicalement
Olivier
mat
je propose une visite chez http://sqlpro.developpez.com/ ou bien http://sqlzoo.net/
Salutations Mat
je propose une visite chez http://sqlpro.developpez.com/ ou bien
http://sqlzoo.net/
je propose une visite chez http://sqlpro.developpez.com/ ou bien http://sqlzoo.net/
Salutations Mat
mat
Olivier wrote:
Mais si je veux insérer un calcul entre les deux valeurs TotalCde et NbreCde : boum plantage, cela me semble plus un dysfonctionnement qu'une erreur de ma part.
Je ne crois pas. Dans l'éditeur la liaison est probablement fait automatiquement, donc une autre possible raison du problème est que, pour autant que je sache, tu ne peux pas utiliser une valeur nommé "AS" au même niveau. Donc, à mon avis il faut répéter
SUM(client.montant) / count(*) AS coefficient
pour que ça marche.
Mat
Olivier wrote:
Mais si je veux insérer un calcul entre les deux valeurs TotalCde et
NbreCde : boum plantage, cela me semble plus un dysfonctionnement qu'une
erreur de ma part.
Je ne crois pas. Dans l'éditeur la liaison est probablement fait
automatiquement, donc une autre possible raison du problème est que,
pour autant que je sache, tu ne peux pas utiliser une valeur nommé "AS"
au même niveau. Donc, à mon avis il faut répéter
Mais si je veux insérer un calcul entre les deux valeurs TotalCde et NbreCde : boum plantage, cela me semble plus un dysfonctionnement qu'une erreur de ma part.
Je ne crois pas. Dans l'éditeur la liaison est probablement fait automatiquement, donc une autre possible raison du problème est que, pour autant que je sache, tu ne peux pas utiliser une valeur nommé "AS" au même niveau. Donc, à mon avis il faut répéter