Bonjour,
je cherche à faire quelque chose qui me semble relativement simple mais apriori pas assez car je n'y arrive pas...
Je vous explique, je cherche à UPDATE une table à partir d'un résultat d'une requête qui touche d'autre table (calcul de moyenne etc...). Je ne sais pas du tout comment m'y prendre et ne vois pas dans quel sens prendre le problème.
Informations :
SGBD : MySQL
Structure de ma table :
Ma requête (qui fonctionne et qui ne pose pas de problème)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 CREATE TABLE IF NOT EXISTS `mjoba` ( `Job_idJob` int(11) NOT NULL, `Quantite` int(2) default NULL, `NomJob` varchar(30) default NULL, `Date` year(4) default NULL, `Moyenne` time default NULL, KEY `MA_FKIndex1` (`Job_idJob`), KEY `Quantite` (`Quantite`), KEY `NomJob` (`NomJob`), KEY `Date` (`Date`), KEY `Moyenne` (`Moyenne`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Extrait du résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 SELECT COUNT(Job_idJob), Job.idJob, Job.NomJob, SUBSTR(Debut,1,4), SEC_TO_TIME(Avg(TIME_TO_SEC(Temp))) FROM DureeJob INNER JOIN Job ON DureeJob.Job_idJob=Job.idJob AND job.nomjob LIKE '%-%A-%' GROUP BY SUBSTR(DEBUT,1,4), job_idjob ORDER BY `Job`.`NomJob` ASC
Explications complémentaires :Job_idJob, Quantite, NomJob, Date, Moyenne
6400, 1, PROCZ-100A-010D, 2009, 00:00:10
6401, 3, PROCZ-100A-020D, 2009, 00:00:19
6402, 21, PROCZ-100A-030D, 2009, 00:00:19
6403, 5, PROCZ-100A-040D, 2009, 00:00:11
Ce que j'aimerais pouvoir faire ici, c'est d'insérer dans la table MJOBA le résultat de ma requête sauf que les arguments de UPDATE comme le SET m'induisent un peu en erreur... J'ai aussi pensé à insérer dans une table temporaire le résultat de la requête pour ensuite les insérer mais je n'ai rien pu faire de concluant...
Aussi, j'ai un problème assez particulier, la requête sort un résultat bien groupé d'une certaine manière et séparer les arguments chamboulerais un peu tout (d'où ma difficulté à faire une "UPDATE TABLE SET CHAMP1=X, CHAMP2=Y"). La requête doit UPDATE la table et non pas l'INSERT.
Si quelqu'un a une idée de génie ca serait formidable !
Merci d'avance à tous !
Partager