Probleme avec requete

Résolu
Boudchiche Messages postés 59 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 25 novembre 2006 - 12 mai 2006 à 20:10
Boudchiche Messages postés 59 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 25 novembre 2006 - 31 mai 2006 à 22:54
Salut j'ai poste mon probleme mais je n'ai pas eu de reponse je vais essaye de le simplifie un peu esperant que quelqu'un me donne une issue
Table1 Table2 Table3
A A A
B B C
C B B
Table1=stock initiale
Table2=Achat
Table3=Ventes
et les lettres A,B,C representent les articles
Parfois j'ai des articles dans le stocks initiale et dans achat et ventes
Parfois j'ai un article dans le stocks initiale mais j'ai pas fait d'achat mais j'ai realise des ventes
Et parfois je ne l'ai pas dans le stock initiale mais je l'ai achete et j'ai fait des ventes.


Je veut afficher les articles et la somme de leur quantite
Donnez moi juste une idee je suis bloque
Merci

23 réponses

Boudchiche Messages postés 59 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 25 novembre 2006
31 mai 2006 à 22:54
Grand merci a toi Crilun pour tout ton aide et comme tu me l'as propose je met ma requete si quelqu'un on a  besoin


Dim strsql
As
String = "SELECT P.Produit,C.Couleur," & _


"(SELECT ISNULL(SUM(QteInventaire),0) FROM Inventaire I WHERE" & _


" ID_Produit=P.ID_Produit AND ID_Couleur=C.ID_Couleur AND" & _


" I.Date_Inventaire <=CONVERT(DATETIME,'" & DEtat & "',103)) AS QteInv," & _


"(SELECT ISNULL(SUM(ValeurInventaire),0) FROM Inventaire I WHERE" & _


" ID_Produit=P.ID_Produit AND ID_Couleur=C.ID_Couleur AND" & _


" I.Date_Inventaire <=CONVERT(DATETIME,'" & DEtat & "',103)) AS ValInv," & _


"(SELECT ISNULL(SUM(QteAchat),0) FROM Achat A,DetailAchat DA WHERE" & _


" ID_Produit=P.ID_Produit AND ID_Couleur=C.ID_Couleur AND A.N_Achat=DA.N_Achat" & _


" AND A.Date_Achat <=CONVERT(DATETIME,'" & DEtat & "',103)) AS QteAchat," & _


"(SELECT ISNULL(SUM(ValeurAchat),0) FROM Achat A,DetailAchat DA WHERE" & _


" ID_Produit=P.ID_Produit AND ID_Couleur=C.ID_Couleur AND A.N_Achat=DA.N_Achat" & _


" AND A.Date_Achat <=CONVERT(DATETIME,'" & DEtat & "',103)) AS ValeurAchat," & _


"(SELECT ISNULL(SUM(QteVente),0) FROM Ventes V,DetailVente DV WHERE" & _


" ID_Produit=P.ID_Produit AND ID_Couleur=C.ID_Couleur AND V.N_Vente=DV.N_Vente" & _


" AND V.Date_Vente <=CONVERT(DATETIME,'" & DEtat & "',103)) AS QteVente," & _


"(SELECT ISNULL(SUM(ValeurVente),0) FROM Ventes V,DetailVente DV WHERE" & _


" ID_Produit=P.ID_Produit AND ID_Couleur=C.ID_Couleur AND V.N_Vente=DV.N_Vente" & _


" AND V.Date_Vente <=CONVERT(DATETIME,'" & DEtat & "',103)) AS ValeurVente," & _


"(SELECT ISNULL(SUM(QteInventaire),0) FROM Inventaire I WHERE" & _


" ID_Produit=P.ID_Produit AND ID_Couleur=C.ID_Couleur AND" & _


" I.Date_Inventaire <=CONVERT(DATETIME,'" & DEtat & "',103))+" & _


"(SELECT ISNULL(SUM(QteAchat),0) FROM Achat A,DetailAchat DA WHERE" & _


" ID_Produit=P.ID_Produit AND ID_Couleur=C.ID_Couleur AND A.N_Achat=DA.N_Achat" & _


" AND A.Date_Achat <=CONVERT(DATETIME,'" & DEtat & "',103))-" & _


"(SELECT ISNULL(SUM(QteVente),0) FROM Ventes V,DetailVente DV WHERE" & _


" ID_Produit=P.ID_Produit AND ID_Couleur=C.ID_Couleur AND V.N_Vente=DV.N_Vente" & _


" AND V.Date_Vente <=CONVERT(DATETIME,'" & DEtat & "',103)) AS QteStock," & _


"(SELECT ISNULL(SUM(ValeurInventaire),0) FROM Inventaire I WHERE" & _


" ID_Produit=P.ID_Produit AND ID_Couleur=C.ID_Couleur AND" & _


" I.Date_Inventaire <=CONVERT(DATETIME,'" & DEtat & "',103))+" & _


"(SELECT ISNULL(SUM(ValeurAchat),0) FROM Achat A,DetailAchat DA WHERE" & _


" ID_Produit=P.ID_Produit AND ID_Couleur=C.ID_Couleur AND A.N_Achat=DA.N_Achat" & _


" AND A.Date_Achat <=CONVERT(DATETIME,'" & DEtat & "',103))-" & _


"(SELECT ISNULL(SUM(ValeurVente),0) FROM Ventes V,DetailVente DV WHERE" & _


" ID_Produit=P.ID_Produit AND ID_Couleur=C.ID_Couleur AND V.N_Vente=DV.N_Vente" & _


" AND V.Date_Vente <=CONVERT(DATETIME,'" & DEtat & "',103)) AS ValeurStock" & _


" FROM Articles A INNER JOIN Produits P ON A.ID_Produit=P.ID_Produit" & _


" INNER JOIN Couleurs C ON A.ID_Couleur=C.ID_Couleur"
3
Boudchiche Messages postés 59 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 25 novembre 2006
12 mai 2006 à 20:15
apres avoir valider les donne se sont melange alors Je vais essaye de refaire les tables

Table1 Table2 Table3
A A A
B B
C C
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
13 mai 2006 à 15:45
Salut

Une petite requete avec des left join doit mettre d'aplomb tes tables.

Le restultat sera
Table1 Table2 Table3
A A A
NULL B B
C NULL C

Voila la requete.

SELECT * from article
INNER JOIN tabl3 t3
ON T3.id_produit = article.id_produit
left join table2 t2
ON t3.id_prod = t2.id_prod
left join table1 t1
ON t1.id_prod = t1.id_prod

Attention l'ordre des tables est important.
J'ai mis un inner join entre article et ventes car selon ton exemple tu veux toutes les ventes.


Ensuite
Il reste à faire les group by produit, les calculs qu'il faut.
Je ne peux pas trop d'aider sur ce point, car il manque la description plus precise des tables.
Pour faire les calculs.

SELECT article.id_produit, article.nom, sum(T3.prix) as prix,sum(T3.quantite) as quantite_vendu as prix from article
INNER JOIN tabl3 t3
ON T3.id_produit = article.id_produit
left join table2 t2
ON t3.id_prod = t2.id_prod
left join table1 t1
ON t1.id_prod = t1.id_prod
GROUP BY article.id_produit, article.nom
ORDER BY article.id_produit

Mais je ne vois pas pourquoi tu fais intervenir le stock.
En esperant t'avoir guider un peu.

Donne-nous la formule de gestion pour t'aider un peu

Est-ce (quantite achete - quantite vendue + stock initial)

dans ce cas la requete est

SELECT article.id_produit, article.nom, sum(T3.prix) as prix,
sum(T2.quantite - T3.quantite + T1.quantite) as quantite from article
INNER JOIN tabl3 t3
ON T3.id_produit = article.id_produit
left join table2 t2
ON t3.id_prod = t2.id_prod
left join table1 t1
ON t1.id_prod = t1.id_prod
GROUP BY article.id_produit, article.nom
ORDER BY article.id_produit

Apres je ne sais pas comment sont tes données.
Et le comportement de SQLSERVER Avec ces dernieres. gestion des null par exemple

Voila
0
Boudchiche Messages postés 59 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 25 novembre 2006
13 mai 2006 à 20:27
Merci pour ta reponse

Je vais essaye de te donner les tables que j'ai:
Stock_Ini=ID_Produit,Date_Entree
Detail_StockIni=ID_Produit,ID_Couleur,Quantite

Achat=N_Achat,Date_Achat
Detail_Achat=N_Achat,ID_produit,ID_Couleur,Quantite

Vente=N_Vente,Date_Vente
Detail_Vente=N_Vente,ID_Produit,ID_couleur,Quantite

Produit=ID_Produit,Nom_Produit
Couleur=ID_Couleur,Nom_Couleur

Pour le stock initiale la societe qui est concene par ce programme fait un inventaire a la fin de chaque annee s'est ce qui represnte son stock initiale
Le probleme que j'ai trouve est que parfois il arrive qu'un produit existe dans leur stock initial mais il ne l'ont plus achete cette annee et ils ont fait des ventes de ce dernier
et le contraire il arrive qu'on un nouveau produit qui n'existait pas l'an passer la societe l'a achete et vendu.
Pour les relations LEFT JOIN j'ai essaye mais rien alors si peut m'aider un peu la dessus
merci encore une fois nhervagault
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
13 mai 2006 à 22:38
Salut

En prenant, la formule je t'ai donné
ca devrait fonctionner
(quantite achete - quantite vendue + stock initial)

exemple

Produit |Init | Achete | Vendu | Quantite restante
A |10 | 11 | 9 | 12
B |2 | - | 1 | 1
C | - | 11 | 3 | 8
D |5 | 0 | 0 | 5
E | 6 | - | - | 6


Cette formaule semble fonctionnée, je ne vois pas ou est le probleme
et quelle est la signification de ton rien dans l'utilisation des LEFT.
0
Boudchiche Messages postés 59 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 25 novembre 2006
14 mai 2006 à 04:47
Salut
Voila je te donne ma requete j'ai essaye de lui applique les LEFT JOIN mais je n'ai pas reussit


Dim strsql
As String "SELECT Produit.Nom_Produit,Couleurs.Nom_Couleur,SUM(DetailAchat.Quantite) AS Qte_Achat,SUM(DetailInventaire.Quantite) AS Qte_In,SUM(DetailVente.Quantite) AS Qte_Vente FROM Produits INNER JOIN DetailVente ON Produits.ID_Produit DetailVente.ID_Produit INNER JOIN DetailInventaire ON Produits.ID_Produit = DetailInventaire.ID_Produit INNER JOIN Couleurs ON DetailInventaire.ID_Couleur = Couleurs.ID_Couleur AND DetailVente.ID_Couleur = Couleurs.ID_Couleur INNER JOIN DetailAchat ON Articles.ID_Produit = DetailAchat.ID_Produit AND Couleurs.ID_Couleur = DetailAchat.ID_Couleur
GROUP BY Produit.Nom_Produit,Couleurs.Nom_Couleur"

Merci pour ta patience
0
Boudchiche Messages postés 59 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 25 novembre 2006
14 mai 2006 à 05:14
je te donne le resultat que j'ai eu mais il ne me donne pas les couleur pour le reste ca marche
Je crois que j'ai loupe quelque chose
Dim strsql As String "SELECT Produit.Nom_Produit,Couleurs.Nom_Couleur,SUM(DetailAchat.Quantite) AS Qte_Achat,SUM(DetailInventaire.Quantite) AS Qte_In,SUM(DetailVente.Quantite) AS Qte_Vente FROM Produits INNER JOIN DetailVente ON Produits.ID_Produit DetailVente.ID_Produit LEFT JOIN DetailInventaire ON Produits.ID_Produit = DetailInventaire.ID_Produit LEFT JOIN Couleurs ON DetailInventaire.ID_Couleur = Couleurs.ID_Couleur AND DetailVente.ID_Couleur = Couleurs.ID_Couleur LEFT JOIN DetailAchat ON Articles.ID_Produit = DetailAchat.ID_Produit AND Couleurs.ID_Couleur = DetailAchat.ID_Couleur
GROUP BY Produit.Nom_Produit,Couleurs.Nom_Couleur"
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
14 mai 2006 à 11:48
Salut

Essaye avecvun OR à la place du AND.

Car le OR

0 0 --> 0
1 0 --> 1
0 1 --> 1
1 1 --> 1

Ca devrait mieux marcher.
Sinon explique plus ce tu obtiens
0
Boudchiche Messages postés 59 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 25 novembre 2006
14 mai 2006 à 13:55
Salut
s'est une bonne nouvelle ca marche sauf qu'il me fait un produit cartesien si j'ai deux enregistrement du meme article et couleur il les parcoure deux fois je crois que ca vient de la base de donnee c.a.d si je doit avoir dans la somme 100 il me donne 200 et si il y en a trois il donne 300
0
Boudchiche Messages postés 59 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 25 novembre 2006
14 mai 2006 à 17:38
Salut
Pour la base je crois quelle est bien faite mais puisque je fait la selection suivant le produit et la couleur je crois quel fait deux selection une par couleur et une par produit je sais que tu m'as beacoup aider alors je te remerci beaucoup mais si tu as encore un peu de temps...... sinon merci pour tout
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
14 mai 2006 à 20:49
Salut,

Le group by devrait les éviter, je ne comprends pas trop d'ou vient le probleme.

Essaie de mettre un distinct, mais je te garantie rien, et je pense que ca vient bien sur du ou, le distinct corrigera les probleme mais les perfs seront bien moins interressantes.
0
Boudchiche Messages postés 59 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 25 novembre 2006
16 mai 2006 à 14:27
Salut
J'ai essaye avec DISTINCT mais sans resultat j'ai essaye de passer par la requete d'UNION ca marche mais lorsque le produit existe dans les trois tables elle ne le donne pas sur la meme ligne
Merci pour tout
0
crilun Messages postés 114 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 17 octobre 2006
19 mai 2006 à 15:46
crilun

salut,

j'ai regardé un peu ton pb, normal pour le produit cartesien c'est à cause des multiples jointures,

le mieux c'est de regrouper avant dans une sous requete et d'y faire ta
somme,ainsi tu es sur de ne joindre qu'uen seule ligne par rapport à
ton ID

par contre il y a un truc que je ne comprends pas tres bien au niveau de tes couleurs?

tu fait des jointures avec des ON sur tes tables de Stock,inventaire et
vente pour obtenir ta couleur, mais ta couleur n'es pas specifique à
ton produit? dans ce cas tu devrais avoir l'id_couleur dans ta table
produits...

il y aussi dans ta requete Article.champ, mais Article n'est pas dans la clause FROM,

donc je te propose aun debut de solution masi qui ne marchera pas car
je n'ia pas tout l'ennoncé du pb donc je n'ia pas pu la finir,


precise moi donc comment tu geres les couleurs exactement,et si par
exemple un meme id_produit peut avoir plusieurs couleurs differents
dnas les tables Stock,inventaire et achats je te modifirais la requete
ci dessous pour que ca marche.


tiens moi au courant si tu as reussi a faire ce que tu voulais ++


        SELECT

            P.Nom_Produit,

            C.Nom_Couleur,

            DA.Qte_Achat,

            DI.Qte_In,

            DV.Qte_Vente

        FROM

            Produits P

            LEFT JOIN (SELECT TOP 100 PERCENT

        --TOP 100 PERCENT IMPORTANT:il permet de faire un group by sur une requete imbriquée

                    ID_PRODUIT,

                    SUM(QUANTITE) AS QTE_ACHAT,

                    FROM

                    DetailVente

                    GROUP BY

                    ID_PRODUIT

           
         ) DV ON P.ID_Produit =
DV.ID_Produit

            LEFT JOIN (SELECT TOP 100 PERCENT

                    ID_PRODUIT,

                    SUM(QUANTITE) AS QTE_IN,

                    FROM

                    DetailInventaire

                    GROUP BY

                    ID_PRODUIT

           
         ) DI ON P.ID_Produit =
DI.ID_Produit

            LEFT JOIN
Couleurs C ON DI.ID_Couleur C.ID_Couleur AND DV.ID_Couleur
C.ID_Couleur --la j'ai pas modifié car ej voudrais savoir pour la
gestion des couleurs

            LEFT JOIN
DetailAchat DA ON Articles.ID_Produit DA.ID_Produit AND C.ID_Couleur
DA.ID_Couleur--pareil la je sais pas d'ou vient la base article

        GROUP BY

            P.Nom_Produit,

            C.Nom_Couleur
0
Boudchiche Messages postés 59 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 25 novembre 2006
29 mai 2006 à 13:14
salut
je m'excuse de ne pas t'avoir repondu si vite parceque j'ai des problemes avec ma connection et je vient juste de voir ton message.
Pour ce que tu m'as dit tu as totalement raison mais au lieu de d'ajouter un ID_Couleur dans la table Produit j'ai cree une table Article qui a comme champs(ID_Produit,ID_Couleur) et ca marche . Et j'ai fait aussi des sous requette et j'ai reussi a resoudre une partie du probleme maintenat j'arrive a afficher Detail Inventaire ,les achats,les ventes et voici ma requette
SELECT P.Produit,C.Couleur,
(SELECT SUM(Qte) FROM DetailInventaire WHERE ID_Produit=P.ID_Produit AND ID_Couleur=C.IDCouleur) AS QteInvenatire,
(SELECT SUM(Quantite) FROM Achat WHERE ID_Produit=P.ID_Produit AND ID_Couleur=C.IDCouleur) AS QteAchete,
(SELECT SUM(Quantite) FROM Vente WHERE ID_Produit=P.ID_Produit AND ID_Couleur=C.IDCouleur) AS QteVendu
ca marche tres bien mais maintenat je suis bloque dans le faite que j'ai besoin de calculer le Qte stock et sa valeur
stock=QteInventaire+QteAchete-Qtevendu
valeur=valeurInventaire+valeurachat-valeurvendu
Merci pour ta reponse
0
Boudchiche Messages postés 59 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 25 novembre 2006
29 mai 2006 à 13:23
j'ai ratte la fin de ma requete voici la suite
FROM Article A INNER JOIN Produit P ON A.ID_Produit=P.ID_Produit INNER JOIN Couleur C ON A.ID_Couleur=C.ID_Couleur
0
crilun Messages postés 114 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 17 octobre 2006
29 mai 2006 à 13:29
crilun

SELECT

        Produit,

        Couleur,

        QteInventaire,

        QteAchete,

        QteVendu,

        QteInventaire+QteAchete-Qtevendu AS Stock

 FROM(

            SELECT

                    P.Produit,

                    C.Couleur,

                   (SELECT
SUM(Qte) FROM DetailInventaire WHERE ID_Produit=P.ID_Produit AND
ID_Couleur=C.IDCouleur)        
           
    AS QteInventaire,

           
        (SELECT SUM(Quantite) FROM Achat
WHERE ID_Produit=P.ID_Produit AND ID_Couleur=C.IDCouleur) AS QteAchete,

             
      (SELECT SUM(Quantite) FROM Vente WHERE
ID_Produit=P.ID_Produit AND ID_Couleur=C.IDCouleur) AS QteVendu

             FROM

               
   tes tables commm tu as du mettre dans ta requete

             )


par contre pourrais tu preciser ou tu trouves les champs : valeurInventaire valeurachat et valeurvendu

que je puisse te mettre la suite...
0
Boudchiche Messages postés 59 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 25 novembre 2006
29 mai 2006 à 17:14
Salut


Pour les valeurs ils sont stocker comme suit:


ValeurInitiale dans la table du stock initiale


ValeurAchat dans la table achat


et ValeurVente dans la table vente


Et merci pour
0
Boudchiche Messages postés 59 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 25 novembre 2006
29 mai 2006 à 17:30
je m'excuse j'ai mal explique mon probleme pour avoir la quantite du stock
QteStock=SUM(QteInventaire)+SUM(QteAchete)-SUM(Qtevendu)
meme chose pour les valeur
valeurStock=SUM(valeurInventaire)+SUM(ValeurAchete)-SUM(ValeurVendu)

Voila je t'ecrit toute ma requete
SELECT P.Produit,C.Couleur,
(SELECT SUM(Qte) FROM DetailInventaire WHERE ID_Produit=P.ID_Produit AND ID_Couleur=C.IDCouleur) AS QteInvenatire,
(SELECT SUM(Valeur) FROM DetailInventaire WHERE ID_Produit=P.ID_Produit AND ID_Couleur=C.IDCouleur) AS QteInvenatire,
(SELECT SUM(Quantite) FROM Achat WHERE ID_Produit=P.ID_Produit AND ID_Couleur=C.IDCouleur) AS QteAchete,
(SELECT SUM(Valeur) FROM Achat WHERE ID_Produit=P.ID_Produit AND ID_Couleur=C.IDCouleur) AS QteAchete,
(SELECT SUM(Quantite) FROM Vente WHERE ID_Produit=P.ID_Produit AND ID_Couleur=C.IDCouleur) AS QteVendu,
(SELECT SUM(Valeur) FROM Vente WHERE ID_Produit=P.ID_Produit AND ID_Couleur=C.IDCouleur) AS QteVendu
FROM Article A INNER JOIN Produit P ON A.ID_Produit=P.ID_Produit INNER JOIN Couleur C ON A.ID_Couleur=C.ID_Couleur

Merci beaucoup je commencais a croire que je n'arriverais jamais a la fin de ce probleme.
0
Boudchiche Messages postés 59 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 25 novembre 2006
29 mai 2006 à 17:30
je m'excuse j'ai mal explique mon probleme pour avoir la quantite du stock
QteStock=SUM(QteInventaire)+SUM(QteAchete)-SUM(Qtevendu)
meme chose pour les valeur
valeurStock=SUM(valeurInventaire)+SUM(ValeurAchete)-SUM(ValeurVendu)

Voila je t'ecrit toute ma requete
SELECT P.Produit,C.Couleur,
(SELECT SUM(Qte) FROM DetailInventaire WHERE ID_Produit=P.ID_Produit AND ID_Couleur=C.IDCouleur) AS QteInvenatire,
(SELECT SUM(Valeur) FROM DetailInventaire WHERE ID_Produit=P.ID_Produit AND ID_Couleur=C.IDCouleur) AS QteInvenatire,
(SELECT SUM(Quantite) FROM Achat WHERE ID_Produit=P.ID_Produit AND ID_Couleur=C.IDCouleur) AS QteAchete,
(SELECT SUM(Valeur) FROM Achat WHERE ID_Produit=P.ID_Produit AND ID_Couleur=C.IDCouleur) AS QteAchete,
(SELECT SUM(Quantite) FROM Vente WHERE ID_Produit=P.ID_Produit AND ID_Couleur=C.IDCouleur) AS QteVendu,
(SELECT SUM(Valeur) FROM Vente WHERE ID_Produit=P.ID_Produit AND ID_Couleur=C.IDCouleur) AS QteVendu
FROM Article A INNER JOIN Produit P ON A.ID_Produit=P.ID_Produit INNER JOIN Couleur C ON A.ID_Couleur=C.ID_Couleur

Merci beaucoup je commencais a croire que je n'arriverais jamais a la fin de ce probleme.
0
Boudchiche Messages postés 59 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 25 novembre 2006
29 mai 2006 à 17:35
Tu m'excuse je corrige :
SELECT P.Produit,C.Couleur,
(SELECT SUM(Qte) FROM DetailInventaire WHERE ID_Produit=P.ID_Produit AND ID_Couleur=C.IDCouleur) AS QteInvenatire,
(SELECT SUM(Valeur) FROM DetailInventaire WHERE ID_Produit=P.ID_Produit AND ID_Couleur=C.IDCouleur) AS ValeurInvenatire,
(SELECT SUM(Quantite) FROM Achat WHERE ID_Produit=P.ID_Produit AND ID_Couleur=C.IDCouleur) AS QteAchete,
(SELECT SUM(Valeur) FROM Achat WHERE ID_Produit=P.ID_Produit AND ID_Couleur=C.IDCouleur) AS ValeurAchete,
(SELECT SUM(Quantite) FROM Vente WHERE ID_Produit=P.ID_Produit AND ID_Couleur=C.IDCouleur) AS QteVendu,
(SELECT SUM(Valeur) FROM Vente WHERE ID_Produit=P.ID_Produit AND ID_Couleur=C.IDCouleur) AS ValeurVendu
FROM Article A INNER JOIN Produit P ON A.ID_Produit=P.ID_Produit INNER JOIN Couleur C ON A.ID_Couleur=C.ID_Couleur
0
Rejoignez-nous