OVH Cloud OVH Cloud

Groupage de certaines données uniquement

2 réponses
Avatar
Kerad
Bonjour,

Je cherche dans une requête sql à grouper une partie des résultats dans une
certaines ligne.
TYpiquement, si j'ai des données sous cette forme
Occurence NombrePersonnes Nom responsable
1 4 toto
2 5 toto
3 7 toto
4 2 toto
1 5 momo
2 8 momo
3 2 momo
4 1 momo
5 7 momo
....

Je voudrais avoir pour toutes les valeurs supérieur à 3 un groupement des
sommes par responsable sur une ligne - typiquement
Occurence NbPersonnes Responsable
1 4 toto
2 5 toto
3+ 9 toto
1 5 momo
2 8 momo
3+ 10 momo

est-ce possible?
Si oui quelle requete TSQL faire?

Merci

2 réponses

Avatar
SQLpro [MVP]
Kerad a écrit :
Bonjour,

Je cherche dans une requête sql à grouper une partie des résultats dans une
certaines ligne.
TYpiquement, si j'ai des données sous cette forme
Occurence NombrePersonnes Nom responsable
1 4 toto
2 5 toto
3 7 toto
4 2 toto
1 5 momo
2 8 momo
3 2 momo
4 1 momo
5 7 momo
....

Je voudrais avoir pour toutes les valeurs supérieur à 3 un groupement des
sommes par responsable sur une ligne - typiquement
Occurence NbPersonnes Responsable
1 4 toto
2 5 toto
3+ 9 toto
1 5 momo
2 8 momo
3+ 10 momo

est-ce possible?
Si oui quelle requete TSQL faire?

Merci



Il faut faire une sous requête de type table dérivée corrélée avec
clause TOP...

Postez la définition de vos tables sous forme d'ordre SQL CREATE ainsi
qu'un jeu d'essais sous la forme INSERT pour que l'on puisse vous aider.

A +


--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
Synopsis
Avec un CASE et un GROUP BY, on devrait y parvenir sans Pb.

Select
Case
When col1 ....
else
End
, col2
, sum()
, sum()

from

group by
Case
When col1 ....
else
End
, col2,..


N'est-il pas plus astucieux de faire évoluer ton MDD, en ajoutant une
colonne supplémentaire qui
te renseigne sur la façon d'agréger ?

Aujourd'hui, ta règle dite de Gestion est de regrouper les 1, les 2 et puis
le reste (3+ )
Elle peut évoluer dans l'avenir.

Je pense qu'il sera plus simple d'aller modifier une table plutôt qu'un
script SQL.





"Kerad" a écrit dans le message de
news:
Bonjour,

Je cherche dans une requête sql à grouper une partie des résultats dans


une
certaines ligne.
TYpiquement, si j'ai des données sous cette forme
Occurence NombrePersonnes Nom responsable
1 4 toto
2 5 toto
3 7 toto
4 2 toto
1 5 momo
2 8 momo
3 2 momo
4 1 momo
5 7 momo
....

Je voudrais avoir pour toutes les valeurs supérieur à 3 un groupement des
sommes par responsable sur une ligne - typiquement
Occurence NbPersonnes Responsable
1 4 toto
2 5 toto
3+ 9 toto
1 5 momo
2 8 momo
3+ 10 momo

est-ce possible?
Si oui quelle requete TSQL faire?

Merci