Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/10/2004, 13h59   #1
Invité de passage
 
Inscription : février 2003
Messages : 14
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 14
Points : 4
Points : 4
Par défaut [coalesce]probleme de requete

Bonjour,
J'ai mis le schéma de ma db à http://membres.lycos.fr/snowballz/relationnel.jpg
ainsi que la création des table à http://membres.lycos.fr/snowballz/table.txt

Précédemment, j'avais fait un post qui semblait fonctionner
http://www.developpez.net/forums/viewtopic.php?t=243177
mais après avoir rentré plusieurs données dans la bases, ça ne me donnait plus le résultat voulu.
A la fin de la création de mes tables, je créais une vue (mise en commentaire pour le moment). Cette vue a été découpées en 3 pour "plus de compréhension (de ma part)" mais je n'arrive toujours pas a faire ce que je veux :
calculer le nombres d'articles que je dois commander :
ARTICLE.QUANTITESTOCK - ARTICLE.QTEABIME + ARTICLE.QTEENTROP - RESERVATION.QTERESERV + DETAIL_COMMANDE.QTECOMM

QTERESERV n'existe plus et je dois surement faire un count(idarticle) mais j'ai comme erreur
Code :
aggregate FUNCTION calls may NOT be nested
Si quelqu'un peut m'aider a faire cette requete, ce serait gentil.
Merci
Snowballz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2004, 15h32   #2
Invité de passage
 
Inscription : février 2003
Messages : 14
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 14
Points : 4
Points : 4
J'ai résolu mon problème en ajoutant un champ "qtereserv" dans reservation qui est "not null default 1". Ainsi je peux réutiliser mon ancinenne vue sans probleme.
Code :
1
2
3
4
5
6
 
CREATE VIEW QTEREEL AS
SELECT ARTICLE.IDARTICLE, sum(ARTICLE.QUANTITESTOCK - ARTICLE.QTEABIME + ARTICLE.QTEENTROP - coalesce(RESERVATION.QTERESERV,0) + coalesce(DETAIL_COMMANDE.QTECOMM,0)) AS QTESTOCK FROM ARTICLE
LEFT OUTER JOIN RESERVATION ON RESERVATION.IDARTICLE = ARTICLE.IDARTICLE
LEFT OUTER JOIN DETAIL_COMMANDE ON DETAIL_COMMANDE.IDARTICLE = ARTICLE.IDARTICLE
GROUP BY ARTICLE.IDARTICLE;
Snowballz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h50.


 
 
 
 
Partenaires

Hébergement Web