sql et agrégat

Le
Sebho
Bonjour,

désolé si ce n'est pas tout à fait le bon newsgroup ; je ne l'ai pas trouvé

je souhaterais dans une requête faire un agrégat par concaténation ; est ce
possible ?

exemple

ma table :
id qté lettre

1 2 A
2 3 B

mon résultat souhaité

select sum(qté), ??(lettre) from matable
group by ??

qté lettre

5 AB


En vous remerciant pour vous suggestions
--
Sebho
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
SQLpro
Le #11858271
Il n'existe pas de fonction toute faite pour cela. En revanche vous
pouvez au choix :
1) utiliser une procédure stockée
2) utiliser (v 2005) une CTE

Exemple 1) :
DECLARE @DATA VARCHAR(8000)
SET @DATA = ''
SELECT @DATA = @DATA + lettre
FROM MaTable

SELECT sum(qté), @DATA
FROM MaTable

A +




On 27 avr, 05:14, Sebho
Bonjour,

désolé si ce n'est pas tout à fait le bon newsgroup ; je ne l'ai pa s trouvé

je souhaterais dans une requête faire un agrégat par concaténation ; est ce
possible ?

exemple

ma table :
id qté lettre
------------------------------------
1 2 A
2 3 B

mon résultat souhaité

select sum(qté), ??(lettre) from matable
group by ??

qté lettre
---------------------------
5 AB

En vous remerciant pour vous suggestions
--
Sebho


tcheb1
Le #11858091
On 27 avr, 11:41, SQLpro
Il n'existe pas de fonction toute faite pour cela. En revanche vous
pouvez au choix :
1) utiliser une procédure stockée
2) utiliser (v 2005) une CTE

Exemple 1) :
DECLARE @DATA VARCHAR(8000)
SET @DATA = ''
SELECT @DATA = @DATA + lettre
FROM MaTable

SELECT sum(qté), @DATA
FROM MaTable

A +

On 27 avr, 05:14, Sebho


> Bonjour,

> désolé si ce n'est pas tout à fait le bon newsgroup ; je ne l'ai pas trouvé

> je souhaterais dans une requête faire un agrégat par concaténatio n ; est ce
> possible ?

> exemple

> ma table :
> id qté lettre
> ------------------------------------
> 1 2 A
> 2 3 B

> mon résultat souhaité

> select sum(qté), ??(lettre) from matable
> group by ??

> qté lettre
> ---------------------------
> 5 AB

> En vous remerciant pour vous suggestions
> --
> Sebho- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Ca marche mais pour une table entiere .....pas sr un agrégat....
Je recherche egalement un equivalent a listagg (sous oracle)

Pour le moment j'ai créer une procédure stocké (avec curseur) qui fait
la concaténation qui va bien, il stocke le résultat dans une table que
je viens interroger lors de ma requete..... enfin pas très pratique....
ple_ain
Le #11855511
Bonjour,

J'ai la même chose à faire.
Merci bien de me renseigner sur la procédure stockée à créer,
car pour l'instant, je n'ai pas mieux non plus.



On 27 avr, 11:41, SQLpro
Il n'existe pas de fonction toute faite pour cela. En revanche vous
pouvez au choix :
1) utiliser une procédure stockée
2) utiliser (v 2005) une CTE

Exemple 1) :
DECLARE @DATA VARCHAR(8000)
SET @DATA = ''
SELECT @DATA = @DATA + lettre
FROM MaTable

SELECT sum(qté), @DATA
FROM MaTable

A +

On 27 avr, 05:14, Sebho


> Bonjour,

> désolé si ce n'est pas tout à fait le bon newsgroup ; je ne l'ai pas
> trouvé

> je souhaterais dans une requête faire un agrégat par concaténation ; est
> ce
> possible ?

> exemple

> ma table :
> id qté lettre
> ------------------------------------
> 1 2 A
> 2 3 B

> mon résultat souhaité

> select sum(qté), ??(lettre) from matable
> group by ??

> qté lettre
> ---------------------------
> 5 AB

> En vous remerciant pour vous suggestions
> --
> Sebho- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Ca marche mais pour une table entiere .....pas sr un agrégat....
Je recherche egalement un equivalent a listagg (sous oracle)

Pour le moment j'ai créer une procédure stocké (avec curseur) qui fait
la concaténation qui va bien, il stocke le résultat dans une table que
je viens interroger lors de ma requete..... enfin pas très pratique....
Publicité
Poster une réponse
Anonyme