Une seule colonne en fonction de plusieurs lignes
Résolu/Fermé
EBIM20
Messages postés
42
Date d'inscription
vendredi 19 avril 2019
Statut
Membre
Dernière intervention
25 avril 2021
-
Modifié le 17 mai 2019 à 16:45
EBIM20 Messages postés 42 Date d'inscription vendredi 19 avril 2019 Statut Membre Dernière intervention 25 avril 2021 - 20 mai 2019 à 14:48
EBIM20 Messages postés 42 Date d'inscription vendredi 19 avril 2019 Statut Membre Dernière intervention 25 avril 2021 - 20 mai 2019 à 14:48
A voir également:
- Une seule colonne en fonction de plusieurs lignes
- Déplacer une colonne excel - Guide
- Fonction si et - Guide
- Formule somme excel colonne - Guide
- Trier colonne excel - Guide
- Partage de photos en ligne - Guide
3 réponses
yg_be
Messages postés
23415
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 janvier 2025
Ambassadeur
1 557
17 mai 2019 à 22:40
17 mai 2019 à 22:40
bonjour, à part la requête SQL, rien n'est clair.
par exemple, je ne comprends pas du tout la phrase suivante:
la majorité des colonnes à extraire sont des cumuls ( valeurs numériques) qui sont stockées dans une colonne (DecimalValue)
comment des colonnes peuvent-elles être stockées dans une colonne?
peux-tu écrire cela autrement, ou donner des exemples?
par exemple, je ne comprends pas du tout la phrase suivante:
la majorité des colonnes à extraire sont des cumuls ( valeurs numériques) qui sont stockées dans une colonne (DecimalValue)
comment des colonnes peuvent-elles être stockées dans une colonne?
peux-tu écrire cela autrement, ou donner des exemples?
EBIM20
Messages postés
42
Date d'inscription
vendredi 19 avril 2019
Statut
Membre
Dernière intervention
25 avril 2021
18 mai 2019 à 00:38
18 mai 2019 à 00:38
En fait le but c'est d'avoir une liste de salariés en ligne et leurs informations en colonnes. Les cumuls dont je parle peuvent être: ( 'salaire annuel', 'montant brut annuel' ...) les codes de ces cumuls sont dans la colonne 'OLCode' de la table Cumul et leurs valeurs sont dans la colonne DecimalValue de la table PaychekValue, Donc il s'agit de récupérer avec la même colonne plusieurs colonnes en utilisant des ALIAS et cela en fonction du cumul par exemple on va prendre la DecimalValue AS Salaire quand le code cumul = 'salaire' ainsi de suite.... J'espère que j'étais un peu plus claire
yg_be
Messages postés
23415
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 janvier 2025
1 557
Modifié le 18 mai 2019 à 11:01
Modifié le 18 mai 2019 à 11:01
donc ta requête te donne exactement ce que tu veux (le bon nombre de lignes), à part que la colonne SALAIREANNUEL devrait être en fait plusieurs colonnes, correspondant à tous les valeurs possibles de OLCode? sur chaque ligne, une seule de ces colonnes serait remplie, les autres étant vides?
si ce n'est pas cela, donne un exemple.
connais-tu les valeurs possibles de OLCode?
si ce n'est pas cela, donne un exemple.
connais-tu les valeurs possibles de OLCode?
yg_be
Messages postés
23415
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 janvier 2025
1 557
18 mai 2019 à 11:41
18 mai 2019 à 11:41
peut-être ainsi:
SELECT [T0].[IdPaycheck], [T5].[Address_Address1], [T5].[RegistrationNumber], [T5].[xx_No_C_I_N], [T5].[xx_No_CNSS], [T5].[BirthName], [T5].[Contact_FirstName], sum(case when [T4].[OLCode]= 'salaire annuel' then [T0].[DecimalValue] else 0 end) as SALAIREANNUEL, sum(case when [T4].[OLCode]= 'montant brut annuel' then [T0].[DecimalValue] else 0 end) as BRUT FROM ((((([PaycheckValue] T0 LEFT OUTER JOIN [Paycheck] T1 ON (([T0].[IdPaycheck] = [T1].[Id]))) LEFT OUTER JOIN [CatalogueCumul] T2 ON (([T1].[IdCatalogueCumul] = [T2].[Id]))) LEFT OUTER JOIN [CatalogueLineCumul] T3 ON (([T2].[Id] = [T3].[IdCatalogue]))) LEFT OUTER JOIN [Cumul] T4 ON (([T3].[IdElement] = [T4].[Id]))) LEFT OUTER JOIN [Employee] T5 ON (([T1].[UCodeEmployee] = [T5].[UCode]))) WHERE ((([T5].[VersionStatus] = 1) OR ([T5].[VersionStatus] IS NULL))) group by [T0].[IdPaycheck], [T5].[Address_Address1], [T5].[RegistrationNumber], [T5].[xx_No_C_I_N], [T5].[xx_No_CNSS], [T5].[BirthName], [T5].[Contact_FirstName]
yg_be
Messages postés
23415
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 janvier 2025
1 557
18 mai 2019 à 15:48
18 mai 2019 à 15:48
as-tu essayé la suggestion en #4?
EBIM20
Messages postés
42
Date d'inscription
vendredi 19 avril 2019
Statut
Membre
Dernière intervention
25 avril 2021
19 mai 2019 à 01:56
19 mai 2019 à 01:56
OUI mais ça donne pas les bonnes valeurs
yg_be
Messages postés
23415
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 janvier 2025
1 557
>
EBIM20
Messages postés
42
Date d'inscription
vendredi 19 avril 2019
Statut
Membre
Dernière intervention
25 avril 2021
19 mai 2019 à 12:23
19 mai 2019 à 12:23
"pas les bonnes valeurs", peux-tu être plus précis?
EBIM20
Messages postés
42
Date d'inscription
vendredi 19 avril 2019
Statut
Membre
Dernière intervention
25 avril 2021
18 mai 2019 à 15:12
18 mai 2019 à 15:12
vous avez compris la majorité du problème sauf que pour chaque salarié de ma liste, DecimalValue doit être remplie selon le OLCode du cumul que l'on veut, non pas vide mais forcement y a des valeurs pour chaque salarié, après c'est moi qui lui précise les OLCode concernés pour qu'il me les affiche dans l'ordre que je veux , j'espère que j'ai répondu à votre question, j'ai un fichier excel sur lesquels j'ai les différents colonnes à remplir , ci-après un aperçu (la valeur de tout ce qui est cumul est dans la colonne DecimalValue) faut alors pouvoir les afficher et les faie correspondre au bon salarié)