Page 1 sur 1

REquete pour MYSQL

Posté : 09 janv. 2015, 20:27
par wild133
Bonjour,

Mes tables:

Etape
idEtape nomEtape Livrable
1 Démarrage Déf. base de projet (objectifs, chef projet)
2 Prévision Planification du projet
3 Réalisation Exécution du plan du projet
4 Surveillance et Maîtrise Rapport de performance
5 Clôture Document de clôture du projet

EtapexProjet

idEtape idProjet dateDebut dateFin
1 1 2011-07-01 2011-09-01
2 1 2011-09-02 2001-11-30
3 1 2011-12-01 2012-07-07
4 1 2012-07-08
1 2 2012-05-01 2012-05-10
2 2 2012-11-05 2012-01-06
3 2 2012-06-02 2012-07-01
4 2 2012-07-22 2012-07-23
5 2 24-07-2012 25-07-2012
1 3 2011-11-01 2012-01-20
2 3 2012-01-21 2012-04-01
3 3 2012-04-02


Je désire avoir une requête qui donnerait comme résultat le nom et le livrable de l’étape actuelle de chaque projet de l’entreprise.

Comment faire sans utiliser GROUP BY...

Je crois qu'il faut que j'utilise quelque chose comme : SELECT x,y FROM ... WHERE y = (SELECT MAX(z) FROM ... WHERE ....

Mais j'ai de la difficulté a mettre les bons termes a l'intérieur x,y doivent être mes colonnes from mes tables (ok pour les tables) mais quelle colonnes prendre je suis perdu!!!

Merci!

Re: REquete pour MYSQL

Posté : 09 janv. 2015, 21:42
par wild133

Code : Tout sélectionner

SELECT etapexProjet.idProjet, etapexProjet.datedebut, etape.nometape, etape.livrable FROM etapexProjet, etape WHERE datedebut = (SELECT MAX(datedebut) FROM etapexProjet WHERE idProjet = 1);
Ce code me donne cette réponse:

+----------+------------+--------------------------+----------------------------
------------------+
| idProjet | datedebut | nometape | livrable
|
+----------+------------+--------------------------+----------------------------
------------------+
| 1 | 2012-07-08 | Démarrage | Déf. base de projet (object
ifs, chef projet) |
| 1 | 2012-07-08 | Prévision | Planification du projet
|
| 1 | 2012-07-08 | Réalisation | Exécution du plan du projet
|
| 1 | 2012-07-08 | Surveillance et Maitrîse | Rapport de performance
|
| 1 | 2012-07-08 | Clôture | Document de clôture du proj
et |
+----------+------------+--------------------------+----------------------------
------------------+
5 rows in set (0.00 sec)

Comme avoir seulement le nometape et livrable d'ou je suis rendu dans ma table

Re: REquete pour MYSQL

Posté : 09 janv. 2015, 22:21
par Rousss
Bonsoir, pour n'avoir que le  nometape et livrable :
SELECT
etape.nometape, etape.livrable

FROM etapexProjet, etape

WHERE datedebut = (SELECT MAX(datedebut) FROM etapexProjet WHERE idProjet = 1);
En gros tu modifie les x,y de ton premier post.

Mais pour avoir tous les projets actuels, je ferai plutôt :
SELECT
etape.nometape, etape.livrable

FROM etapexProjet
left join etape on (etape.id= etapexProjet. idProjet)

WHERE current_date() between datedebut and dateFin
En considérant que tu as un champ id dans ta table etape
liant les 2 tables.