younes371
Messages postés502Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention20 mars 2012
-
30 nov. 2009 à 12:48
younes371
Messages postés502Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention20 mars 2012
-
1 déc. 2009 à 09:20
Bonjour,
après plusieurs teste et recherche sans resultat souhaité, je viens demander votre aide.
J'ai quatres tables (base mysql).
Resultat souhaité :
Table -projet- : Les informations sur les projets (clé pri. code_projet)
Table -projet_tache- : les codes des projets et les codes des taches
Table -tache- : les informatiosn sur les taches (clé pri. code_tache)
Table -changer_etat- : les informations sur l'avancement des etats des projets (clé pri. code_etat,code_projet,date_etat).
j'aimerai recuperer les code_projet des projets terminés (code_etat=2) d'une tache donnée.
c'est à dire, lorsque je veux affecté une tache à un projet, je vérifie tout d'abord si cette tâche existe deja dans la base, si oui, je verifie s'elle appartient à un projet qui n'est pas encore terminé, si oui je fais mes teste dans le programme (php).
Ma requette est :
SELECT code_projet FROM projet_tache WHERE code_tache IN (SELECT code_tache FROM tache where nom_tache="test1") and code_projet IN (SELECT code_projet FROM changer_etat WHERE max(code_etat)!="2" )
Je veux avoir seulement les projets qui ont la tache 'test1' et qu'ils doivent pas être terminé.
younes371
Messages postés502Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention20 mars 2012 1 déc. 2009 à 09:20
Salam,
merci pour votre réponse,
j'a procedé comme suit et ça marche (votre requette ça marche aussi, merci bcp)
SELECT code_projet FROM projet_tache WHERE code_tache IN (SELECT code_tache FROM tache where nom_tache ="test1") and code_projet NOT IN (SELECT code_projet FROM changer_etat WHERE code_etat="2")
comme ça j'aurai tous les projets non terminé (dans mon code, si un projet est terminé, c'est l'état final, il doit pas revenir en cours) donc seulement les projets dont l'etat est en cours = code_etat!=2.