[edit]
Mon post etant long chi### et compliqué, j'ai reformulé la question plus bas...
si quelqu'un pouvait m'aider
je manque de connaissance!
merci d'avance!
[/edit]

bonjours, afin de palier a l'abscence des vues dans mysql 4.0, je crée une table temporaire, dans la quelle je renseigne les données 1-aire (une seule ligne par info), puis, j'essaie de lui envoie des champs complementaire (plusieurs info pour une ligne)

ex:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
UPDATE requisDispoTemp, agents.d_agents, e_expert 
SET requisDispoTemp.Nom_Expert = concat_WS(' ' , agents.d_agents.a_Nom, requisDispoTemp.Nom_Expert) 
WHERE e_expert.a_id = agents.d_agents.a_id 
AND e_expert.id_outil = requisDispoTemp.id_outil

on as :
ma table temporaire

le pb c'est que la table
Code : Sélectionner tout - Visualiser dans une fenêtre à part
e_expert (a_id, id_outil)
peut posseder plusieurs personnes (a_id) pour un meme classeur outil
(id_outil)

ex :
(classeur_outil---(0,N)----------(0,N)-------expert)


fonctionnelement, ca ne parcours pas les resultats : ca trouve le premier enregistrement correspondant :
ca me trouve le premier expert, mais pas les autres (que je voudrait afficher grace au concat with separator(, mais qui a besoin d'un oparcours des resultats) )

en esperant avoir ete suffisament clair...

plus concretement, peut on faire un ipdate qui parcours tous les ersultats? sinon, comment dois-je faire?

----------------------------------------
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
CREATE TEMPORARY TABLE IF NOT EXISTS requisDispoTemp 
					(
						id_outil int primary key,
						Service int(10) unsigned ,
						Nom_CO varchar(255),
						Compétences_dispo int, 
						Compétences_cibles int,
						Compétences_requises int, 
						Nom_Expert varchar(50),
						Nom_Responsable_COP varchar(50)
					)
 
 
DELETE FROM requisDispoTemp
 
 
 
 
INSERT INTO requisDispoTemp 
							(
								id_outil, 
								Service, 
								Nom_CO, 
								Compétences_dispo, 
								Compétences_cibles,
								Compétences_requises
							)
						SELECT 
						e_Classeur_outil.id_outil AS id_outil, 
						d_sdum.s_Code AS Service, 
						e_Classeur_outil.nom AS Nom_CO, 
						COUNT(e_Competence_agent.id_competence) AS Compétences_dispo, 
						SUM(e_Competences_cible.nombre) AS Compétences_cibles, 
						SUM( e_Competences_requises.nombre) AS Compétences_requises 
FROM        e_Classeur_outil, 
						e_Competence_agent, 
						e_Competences_cible, 
						e_Competences_requises, 
						e_lien_classeur_outil_et_sdua, 
						dtg.d_sdum, 
						e_activite  
WHERE e_Competence_agent.id_activite = e_activite.id_activite
						AND e_Competences_cible.id_competence LIKE '%%'
						AND e_activite.id_outil = e_Classeur_outil.id_outil 
						AND e_Competences_cible.id_activite = e_activite.id_activite
						AND e_Competences_requises.id_activite = e_activite.id_activite
						AND e_lien_classeur_outil_et_sdua.s_id = 7  
						AND e_lien_classeur_outil_et_sdua.id_outil = e_Classeur_outil.Id_outil 
						AND d_sdum.s_id = e_lien_classeur_outil_et_sdua.s_id  GROUP BY Nom_CO, id_outil, Service 
 
 
 
 
UPDATE requisDispoTemp, agents.d_agents, e_expert 
SET requisDispoTemp.Nom_Expert = 
                 concat_WS(' ' , agents.d_agents.a_Nom, requisDispoTemp.Nom_Expert) 
WHERE e_expert.a_id = agents.d_agents.a_id AND e_expert.id_outil = requisDispoTemp.id_outil 
Résultat de la requete : '1'
ceci est le code de création )