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?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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 ***********************
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 ***********************
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 ***********************
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
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" <Kerad@discussions.microsoft.com> a écrit dans le message de
news:1D291A0A-A61E-4FF8-BEC8-153679A76024@microsoft.com...
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?
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?