Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
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 29/05/2011, 19h53   #1
 
Inscription : septembre 2008
Messages : 114
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 114
Points : -49
Points : -49
Par défaut Problème avec une requête

Bonjour,

J'ai un problème avec une requête il y a 2 jours.

La base de donnée est comme suit :
Code :
1
2
3
4
5
 
activite(id_activite,nom_activite)
entreprise(id_entreprise,nom_entreprise,adresse,tel,id_activite)
contact(id_contact,nom_contact,tel_contact,id_entreprise)
action(id_action,commentaire,id_contact)
Comment je peux afficher le nombre total des entreprises par activite avec le nombre des entreprise traite

L'affichage sera comme ça :
Citation:
-----------------------------------------------------
Activite Nombre Total Nombre Traité
------------------------------------------------------
Merci
ghir_ana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2011, 21h24   #2
ced
Rédacteur/Modérateur

 
Avatar de ced
 
Homme Cédric Duprez
Inscription : avril 2002
Messages : 3 823
Détails du profil
Informations personnelles :
Nom : Homme Cédric Duprez
Âge : 36
Localisation : France, Loiret (Centre)

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : avril 2002
Messages : 3 823
Points : 6 440
Points : 6 440
Bonjour,

A quoi correspond le traitement d'une entreprise ?
En gros, comment sait-on qu'une entreprise est "traitée" ?
__________________
Rédacteur / Modérateur SGBD
Mes tutoriels et la FAQ MySQL

----------------------------------------------------
Pensez aux balises code et au tag
Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
ced est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2011, 22h58   #3
 
Inscription : septembre 2008
Messages : 114
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 114
Points : -49
Points : -49
Citation:
Envoyé par ced Voir le message
Bonjour,

A quoi correspond le traitement d'une entreprise ?
En gros, comment sait-on qu'une entreprise est "traitée" ?

Une entreprise dispose d'un contact . ce contact est inséré dans la table action.
ghir_ana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2011, 23h15   #4
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 003
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 : 11 003
Points : 18 265
Points : 18 265
Envoyer un message via MSN à CinePhil
Citation:
Envoyé par ghir_ana Voir le message
Une entreprise dispose d'un contact
Sauf que visiblement, il n'y a pas d'association entre entreprise et contact :
Citation:
entreprise(id_entreprise,nom_entreprise,adresse,tel,id_activite)
contact(id_contact,nom_contact,tel_contact)
Citation:
ce contact est inséré dans la table action.
Et comme il n'y en a pas non plus entre les entreprises et les contacts, cela ne nous sert pas non plus.

Bref, il manque quelque chose dans le modèle de données.
__________________
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 actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2011, 23h48   #5
 
Inscription : septembre 2008
Messages : 114
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 114
Points : -49
Points : -49
Citation:
Envoyé par CinePhil Voir le message
Sauf que visiblement, il n'y a pas d'association entre entreprise et contact :



Et comme il n'y en a pas non plus entre les entreprises et les contacts, cela ne nous sert pas non plus.

Bref, il manque quelque chose dans le modèle de données.

J'ai modifié mon schéma il existe une relation entre contact et entreprise .

A vos clavier.
ghir_ana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 07h47   #6
ced
Rédacteur/Modérateur

 
Avatar de ced
 
Homme Cédric Duprez
Inscription : avril 2002
Messages : 3 823
Détails du profil
Informations personnelles :
Nom : Homme Cédric Duprez
Âge : 36
Localisation : France, Loiret (Centre)

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : avril 2002
Messages : 3 823
Points : 6 440
Points : 6 440
Citation:
Envoyé par ghir_ana Voir le message
J'ai modifié mon schéma il existe une relation entre contact et entreprise .

A vos clavier.
Et on peut avoir le nouveau schéma ? Parce que là, de notre côté, on n'est pas vraiment plus avancé
__________________
Rédacteur / Modérateur SGBD
Mes tutoriels et la FAQ MySQL

----------------------------------------------------
Pensez aux balises code et au tag
Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
ced est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 16h00   #7
 
Inscription : septembre 2008
Messages : 114
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 114
Points : -49
Points : -49
Citation:
Envoyé par ced Voir le message
Et on peut avoir le nouveau schéma ? Parce que là, de notre côté, on n'est pas vraiment plus avancé

J'ai modifier le schéma il y a une relation entre le contact et l'entreprise

A vos clavier
ghir_ana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 16h59   #8
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 003
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 : 11 003
Points : 18 265
Points : 18 265
Envoyer un message via MSN à CinePhil
Euh... répéter ton précédent message ne dit toujours pas à quoi ressemble le nouveau schéma !
__________________
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 actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 17h28   #9
 
Inscription : septembre 2008
Messages : 114
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 114
Points : -49
Points : -49
Citation:
Envoyé par CinePhil Voir le message
Euh... répéter ton précédent message ne dit toujours pas à quoi ressemble le nouveau schéma !

La schéma est comme suit :

activite(id_activite,nom_activite)
entreprise(id_entreprise,nom_entreprise,adresse,tel,id_activite)
contact(id_contact,nom_contact,tel_contact,id_entreprise)
action(id_action,commentaire,id_contact)
ghir_ana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 18h07   #10
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 003
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 : 11 003
Points : 18 265
Points : 18 265
Envoyer un message via MSN à CinePhil
Donc maintenant on peut revenir au besoin de base :
Citation:
afficher le nombre total des entreprises par activite avec le nombre des entreprise traite
Il faut utiliser COUNT et GROUP BY pour compter par activité, SUM et CASE pour compter les entreprises traitées et utiliser quelques jointures dont au moins une externe.

Tu essaies tout seul plutôt qu'on te donne la solution toute crue ?
__________________
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 actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 23h37   #11
 
Inscription : septembre 2008
Messages : 114
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 114
Points : -49
Points : -49
Citation:
Envoyé par CinePhil Voir le message
Donc maintenant on peut revenir au besoin de base :

Il faut utiliser COUNT et GROUP BY pour compter par activité, SUM et CASE pour compter les entreprises traitées et utiliser quelques jointures dont au moins une externe.

Tu essaies tout seul plutôt qu'on te donne la solution toute crue ?
Je sais qu'il faut utiliser group by ,count,sum et case mais le problème et que lors du teste la requete ne marche pas . ce qui donne 3 jours pour une seule requête .


Merci de m'aider
ghir_ana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 08h45   #12
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 003
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 : 11 003
Points : 18 265
Points : 18 265
Envoyer un message via MSN à CinePhil
Citation:
Envoyé par ghir_ana Voir le message
Je sais qu'il faut utiliser group by ,count,sum et case mais le problème et que lors du teste la requete ne marche pas .
Et comme nous sommes devins, nous savons bien entendu ce qui ne marche pas dans la requête que tu as essayée mais que tu ne nous montres pas !
Citation:
ce qui donne 3 jours pour une seule requête .
En donnant toutes les bonnes infos dès le début (structure exacte des tables, requête essayée, petit jeu de données et résultat attendu, symptômes du "ça marche pas"), tu aurais pu avoir une réponse satisfaisante dès le premier jour !
__________________
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 actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h08.


 
 
 
 
Partenaires

Hébergement Web