J'essai de lire les articles pour lesquels il y a une livraison OU une
sortie de stock dans une période donnée. Je voudrais en même temps avoir le
cumul des entrées et sorties.
Voici la requete:
select ARTICLE.IDARTICLE,ARTICLE.DESIGNATION, ARTICLE.REFCONST,
count(FOULIVLG.QTE) as TotLiv, count(STOCKSOR.QTE) as TotSor
from ARTICLE left outer join FOULIVLG on (FOULIVLG.IDARTICLE =
ARTICLE.IDARTICLE),
ARTICLE left outer join ARTSTOCK on (ARTSTOCK.IDARTICLE = ARTICLE.IDARTICLE
and ARTSTOCK.IDSTOCK <> 0), FOULIV,STOCKSOR
where FOULIV.IDFOULIV = FOULIVLG.IDFOULIV
and FOULIV.DATE between '20020101' and '20050930'
and STOCKSOR.IDARTSTOCK = ARTSTOCK.IDARTSTOCK
and STOCKSOR.DATE between '20020101' and '20050930'
group by ARTICLE.REFCONST
having TotLiv > 0 or TotSor > 0
order by ARTICLE.REFCONST
J'ai l'impression que ce ne me retourne pas les bonnes valeurs dans TotLiv !
J'ai presque toutes les lignes qui donnent TotLiv = TotSor ?!!!!
Mes essais donnent des résultats identiques sous MySQL et HF classic (hormis
différence de syntaxe)
Est-ce que ca vient du GROUP BY ? De plus les colonnes non comprises dans le
GROUP BY apparaissent à zéro ou blanc ?!
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Vincent
I.G.LOG a écrit :
J'essai de lire les articles pour lesquels il y a une livraison OU une sortie de stock dans une période donnée. Je voudrais en même temps avoir le cumul des entrées et sorties. Voici la requete:
select ARTICLE.IDARTICLE,ARTICLE.DESIGNATION, ARTICLE.REFCONST, count(FOULIVLG.QTE) as TotLiv, count(STOCKSOR.QTE) as TotSor from ARTICLE left outer join FOULIVLG on (FOULIVLG.IDARTICLE > ARTICLE.IDARTICLE), ARTICLE left outer join ARTSTOCK on (ARTSTOCK.IDARTICLE = ARTICLE.IDARTICLE and ARTSTOCK.IDSTOCK <> 0), FOULIV,STOCKSOR where FOULIV.IDFOULIV = FOULIVLG.IDFOULIV and FOULIV.DATE between '20020101' and '20050930' and STOCKSOR.IDARTSTOCK = ARTSTOCK.IDARTSTOCK and STOCKSOR.DATE between '20020101' and '20050930' group by ARTICLE.REFCONST having TotLiv > 0 or TotSor > 0 order by ARTICLE.REFCONST
J'ai l'impression que ce ne me retourne pas les bonnes valeurs dans TotLiv ! J'ai presque toutes les lignes qui donnent TotLiv = TotSor ?!!!! Mes essais donnent des résultats identiques sous MySQL et HF classic (hormis différence de syntaxe)
Est-ce que ca vient du GROUP BY ? De plus les colonnes non comprises dans le GROUP BY apparaissent à zéro ou blanc ?!
Encore merci
Si je ne me trompe pas, count(FOULIVLG.QTE) te donne le nombre d'enrg ou la valeur de FOULIVLG.QTE n'est pas null et non la somme des quantités.
Essaie SUM(...)
Vincent.
I.G.LOG a écrit :
J'essai de lire les articles pour lesquels il y a une livraison OU une
sortie de stock dans une période donnée. Je voudrais en même temps avoir le
cumul des entrées et sorties.
Voici la requete:
select ARTICLE.IDARTICLE,ARTICLE.DESIGNATION, ARTICLE.REFCONST,
count(FOULIVLG.QTE) as TotLiv, count(STOCKSOR.QTE) as TotSor
from ARTICLE left outer join FOULIVLG on (FOULIVLG.IDARTICLE > ARTICLE.IDARTICLE),
ARTICLE left outer join ARTSTOCK on (ARTSTOCK.IDARTICLE = ARTICLE.IDARTICLE
and ARTSTOCK.IDSTOCK <> 0), FOULIV,STOCKSOR
where FOULIV.IDFOULIV = FOULIVLG.IDFOULIV
and FOULIV.DATE between '20020101' and '20050930'
and STOCKSOR.IDARTSTOCK = ARTSTOCK.IDARTSTOCK
and STOCKSOR.DATE between '20020101' and '20050930'
group by ARTICLE.REFCONST
having TotLiv > 0 or TotSor > 0
order by ARTICLE.REFCONST
J'ai l'impression que ce ne me retourne pas les bonnes valeurs dans TotLiv !
J'ai presque toutes les lignes qui donnent TotLiv = TotSor ?!!!!
Mes essais donnent des résultats identiques sous MySQL et HF classic (hormis
différence de syntaxe)
Est-ce que ca vient du GROUP BY ? De plus les colonnes non comprises dans le
GROUP BY apparaissent à zéro ou blanc ?!
Encore merci
Si je ne me trompe pas, count(FOULIVLG.QTE) te donne le nombre d'enrg ou
la valeur de FOULIVLG.QTE n'est pas null et non la somme des quantités.
J'essai de lire les articles pour lesquels il y a une livraison OU une sortie de stock dans une période donnée. Je voudrais en même temps avoir le cumul des entrées et sorties. Voici la requete:
select ARTICLE.IDARTICLE,ARTICLE.DESIGNATION, ARTICLE.REFCONST, count(FOULIVLG.QTE) as TotLiv, count(STOCKSOR.QTE) as TotSor from ARTICLE left outer join FOULIVLG on (FOULIVLG.IDARTICLE > ARTICLE.IDARTICLE), ARTICLE left outer join ARTSTOCK on (ARTSTOCK.IDARTICLE = ARTICLE.IDARTICLE and ARTSTOCK.IDSTOCK <> 0), FOULIV,STOCKSOR where FOULIV.IDFOULIV = FOULIVLG.IDFOULIV and FOULIV.DATE between '20020101' and '20050930' and STOCKSOR.IDARTSTOCK = ARTSTOCK.IDARTSTOCK and STOCKSOR.DATE between '20020101' and '20050930' group by ARTICLE.REFCONST having TotLiv > 0 or TotSor > 0 order by ARTICLE.REFCONST
J'ai l'impression que ce ne me retourne pas les bonnes valeurs dans TotLiv ! J'ai presque toutes les lignes qui donnent TotLiv = TotSor ?!!!! Mes essais donnent des résultats identiques sous MySQL et HF classic (hormis différence de syntaxe)
Est-ce que ca vient du GROUP BY ? De plus les colonnes non comprises dans le GROUP BY apparaissent à zéro ou blanc ?!
Encore merci
Si je ne me trompe pas, count(FOULIVLG.QTE) te donne le nombre d'enrg ou la valeur de FOULIVLG.QTE n'est pas null et non la somme des quantités.
Essaie SUM(...)
Vincent.
Ronando
tous les champs que tu mets dans la clause SELECT doivent etre aussi dans la clause GROUP BY (sauf les operations sur les champs style SUM() COUNT() etc..)
tous les champs que tu mets dans la clause SELECT doivent etre aussi
dans la clause GROUP BY (sauf les operations sur les champs style SUM()
COUNT() etc..)
tous les champs que tu mets dans la clause SELECT doivent etre aussi dans la clause GROUP BY (sauf les operations sur les champs style SUM() COUNT() etc..)
I.G.LOG
> Si je ne me trompe pas, count(FOULIVLG.QTE) te donne le nombre d'enrg ou la valeur de FOULIVLG.QTE n'est pas null et non la somme des quantités.
Essaie SUM(...)
Vincent.
En effet, c'est bien SUM() qu'il faut utiliser pour avoir la quantité totale ! Je continue mes essais et te tiens au courrant des résultats. Merci Vincent
> Si je ne me trompe pas, count(FOULIVLG.QTE) te donne le nombre d'enrg ou
la valeur de FOULIVLG.QTE n'est pas null et non la somme des quantités.
Essaie SUM(...)
Vincent.
En effet, c'est bien SUM() qu'il faut utiliser pour avoir la quantité totale
!
Je continue mes essais et te tiens au courrant des résultats.
Merci Vincent
> Si je ne me trompe pas, count(FOULIVLG.QTE) te donne le nombre d'enrg ou la valeur de FOULIVLG.QTE n'est pas null et non la somme des quantités.
Essaie SUM(...)
Vincent.
En effet, c'est bien SUM() qu'il faut utiliser pour avoir la quantité totale ! Je continue mes essais et te tiens au courrant des résultats. Merci Vincent