Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
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 20/12/2010, 17h17   #1
 
Khalloud Lazraq
Inscription : juin 2010
Messages : 7
Détails du profil
Informations personnelles :
Nom : Khalloud Lazraq

Informations forums :
Inscription : juin 2010
Messages : 7
Points : -1
Points : -1
Par défaut SUM et COUNT 2 Fichiers

Bonjour a tous

2 fichiers Livraison et Produit
je cherche Resultat en une ligne :
Total des Montants des Livraisons et le Nombre Total produits
(NBlusieurs lignes par Livraison et un seul produit par ligne)


Contenu de ma Requete:
Code :
1
2
3
4
SELECT SUM(Livraison.Montant) AS TotalMontant,
COUNT(*) AS NbPduit
FROM Livraison, Produit
WHERE Livraison.IDLivraison = Produit.IDLivraison
Probleme: NbProduits est correct mais Total des montants est incorrect
("je pense Le montant est multiplié autant de fois que de Produit correspondant..!!.")

que dois-je faire ?
merci d'avance
Khalloud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2010, 17h23   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 977
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 977
Points : 18 221
Points : 18 221
Envoyer un message via MSN à CinePhil
Citation:
Envoyé par Khalloud Voir le message
2 fichiers Livraison et Produit
Il n'y a pas de "fichiers" dans une base de données relationnelle mais des "tables" !

Citation:
je cherche Resultat en une ligne :
Total des Montants des Livraisons et le Nombre Total produits
(NBlusieurs lignes par Livraison et un seul produit par ligne)

Contenu de ma Requete:
Code :
1
2
3
4
SELECT SUM(Livraison.Montant) AS TotalMontant,
COUNT(*) AS NbPduit
FROM Livraison, Produit
WHERE Livraison.IDLivraison = Produit.IDLivraison
Probleme: NbProduits est correct mais Total des montants est incorrect
("je pense Le montant est multiplié autant de fois que de Produit correspondant..!!.")
Si j'en juge par ta condition de jointure et ton explication, la table Produit ne contient pas les infos sur les produits mais les infos sur les lignes de livraison ?
=> Mauvaise appellation de table !

Pour être plus sûr de bien comprendre, on peut avoir la structure des deux tables ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2010, 17h36   #3
 
Khalloud Lazraq
Inscription : juin 2010
Messages : 7
Détails du profil
Informations personnelles :
Nom : Khalloud Lazraq

Informations forums :
Inscription : juin 2010
Messages : 7
Points : -1
Points : -1
TableA: IDLivraison MontantLivraison

TableB: IDProduit InfoProduit...


(NB:je travail avec windev "Fichier" ...)
Khalloud est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 20/12/2010, 17h58   #4
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 977
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 977
Points : 18 221
Points : 18 221
Envoyer un message via MSN à CinePhil
D'après ta requête, les tables ne s'appellent pas TableA et TableB mais Livraison et Produit !

Et d'après la condition de jointure, la description de la table Produit est incomplète. Ou alors c'est la jointure qui est fausse !

Donne la vraie description des vraies tables sinon on ne peut pas t'aider !
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h53.


 
 
 
 
Partenaires

Hébergement Web