Bonjour
je voudrais afficher entre 2 dates(choisies par l'utilisateur) un tableau(etat) qui me donne la somme totale de personne embauchées par societe
j'ai pu faire ce code avec l'editeur de requete de windev
Code :
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
SELECT 
	SUM(FICHE_EMBAUCHE_TRANSIT.dock_dem_transit) AS la_somme_dock_dem_transit,	
	SUM(FICHE_EMBAUCHE_TRANSIT.deficit) AS la_somme_deficit,	
	SUM(FICHE_EMBAUCHE_TRANSIT.dock_emb_transit) AS la_somme_dock_emb_transit,	
	ADHERENTS.lib_adherents AS lib_adherents,	
	LEFT(FICHE_EMBAUCHE_TRANSIT.date_transit,4) AS Année,	
	LEFT(FICHE_EMBAUCHE_TRANSIT.date_transit,6) AS Mois,	
	FICHE_EMBAUCHE_TRANSIT.date_transit AS date_transit,	
	shift.shift_lib AS shift_lib
FROM 
	shift,	
	FICHE_EMBAUCHE_TRANSIT,	
	ADHERENTS
WHERE 
	FICHE_EMBAUCHE_TRANSIT.IDshift	=	shift.IDshift
AND
FICHE_EMBAUCHE_TRANSIT.IDADHERENTS=ADHERENTS.IDADHERENTS
	AND
	(
		FICHE_EMBAUCHE_TRANSIT.date_transit BETWEEN {Param1} AND {Param4}
	)
GROUP BY 
	ADHERENTS.lib_adherents,	
	LEFT(FICHE_EMBAUCHE_TRANSIT.date_transit,4),	
	LEFT(FICHE_EMBAUCHE_TRANSIT.date_transit,6),	
	FICHE_EMBAUCHE_TRANSIT.date_transit,	
	shift.shift_lib
j'arrive a obtenir le resultat
mais impossible d'associer les effectifs demandés d'une même société sur 2 dates differentes de l'intervalle de dates donné par l'utilisateur

j'ai donc pensé à un GROUP BY sans le
Code :
FICHE_EMBAUCHE_TRANSIT.date_transit
mais je suis obligé sinon windev me parle de Correction de requête
du genre
Code :
votre requête comporte des ordres spécifiques a un type de serveur
me suis tourné vers une requête imbriquée de ce genre
Code :
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
 
SELECT  lib_adherents,SUM(la_somme_dock_dem_transit),SUM(la_somme_deficit),SUM(la_somme_dock_emb_transit)
FROM
( 
SELECT 
	SUM(FICHE_EMBAUCHE_TRANSIT.dock_dem_transit) AS la_somme_dock_dem_transit,	
	SUM(FICHE_EMBAUCHE_TRANSIT.deficit) AS la_somme_deficit,	
	SUM(FICHE_EMBAUCHE_TRANSIT.dock_emb_transit) AS la_somme_dock_emb_transit,	
	ADHERENTS.lib_adherents AS lib_adherents,	
	LEFT(FICHE_EMBAUCHE_TRANSIT.date_transit,4) AS Année,	
	LEFT(FICHE_EMBAUCHE_TRANSIT.date_transit,6) AS Mois,	
	FICHE_EMBAUCHE_TRANSIT.date_transit AS date_transit,	
	shift.shift_lib AS shift_lib
FROM 
	shift,	
	FICHE_EMBAUCHE_TRANSIT,	
	ADHERENTS
WHERE 
		FICHE_EMBAUCHE_TRANSIT.IDshift	=	shift.IDshift
	AND	FICHE_EMBAUCHE_TRANSIT.IDADHERENTS	=	ADHERENTS.IDADHERENTS
	AND
	(
		FICHE_EMBAUCHE_TRANSIT.date_transit BETWEEN {Param1} AND {Param4}
	)
GROUP BY 
	ADHERENTS.lib_adherents,	
	LEFT(FICHE_EMBAUCHE_TRANSIT.date_transit,4),	
	LEFT(FICHE_EMBAUCHE_TRANSIT.date_transit,6),	
	FICHE_EMBAUCHE_TRANSIT.date_transit,	
	shift.shift_lib
	)
	GROUP BY lib_adherents
mais j'arrive pas a faire des requêtes imbriquées sour windev

2 questions
1-Concernant la Correction de requete cela signifie que je dois changer de base de donnés si oui laquelle prendre?
2-au cas ou ma requête imbriquée serait une solution mon code est il juste?