Petite qestion : Soit une table TT avec deux champs T et P contenant
les tuples suivants:
TT:
T | P
-----------
t1 | p1
t2 | p21
t2 | p22
Je cherche une req qui me renverrais soit :
t1 | p1
t2 | p21
soit :
t1 | p1
t2 | 'p21, p22'
Donc quelque chose qui s'ecrirait SELECT DISTINCT(T), P FROM TT.
Sauf que ca ca donne pas ce que je cherche, ca supprime pas les
doublons sur T (ce qui est normal au passage) (autre sol : je n'ai pas
trouvé de fonction d'agregat qui fasse la concatenantion de chaines)
Merci
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
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
Rickal
Rickal a exposé le 22/04/2004 :
Salut,
Petite qestion : Soit une table TT avec deux champs T et P contenant les tuples suivants:
TT: T | P ----------- t1 | p1 t2 | p21 t2 | p22
Je cherche une req qui me renverrais soit : t1 | p1 t2 | p21
soit : t1 | p1 t2 | 'p21, p22'
Donc quelque chose qui s'ecrirait SELECT DISTINCT(T), P FROM TT. Sauf que ca ca donne pas ce que je cherche, ca supprime pas les doublons sur T (ce qui est normal au passage) (autre sol : je n'ai pas trouvé de fonction d'agregat qui fasse la concatenantion de chaines)
Merci
J'ai trouvé qqch qui marche meme si c'est pas super efficace : SELECT T, P FROM TT tt WHERE P IN (SELECT MAX (P) FROM TT tt2 WHERE tt2.T = tt.T)
Si il y a plus simple ou plus rapide je suis preneur. Merci
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Rickal a exposé le 22/04/2004 :
Salut,
Petite qestion : Soit une table TT avec deux champs T et P contenant les
tuples suivants:
TT:
T | P
-----------
t1 | p1
t2 | p21
t2 | p22
Je cherche une req qui me renverrais soit :
t1 | p1
t2 | p21
soit :
t1 | p1
t2 | 'p21, p22'
Donc quelque chose qui s'ecrirait SELECT DISTINCT(T), P FROM TT.
Sauf que ca ca donne pas ce que je cherche, ca supprime pas les doublons sur
T (ce qui est normal au passage) (autre sol : je n'ai pas trouvé de fonction
d'agregat qui fasse la concatenantion de chaines)
Merci
J'ai trouvé qqch qui marche meme si c'est pas super efficace :
SELECT T, P
FROM TT tt
WHERE P IN (SELECT MAX (P)
FROM TT tt2
WHERE tt2.T = tt.T)
Si il y a plus simple ou plus rapide je suis preneur.
Merci
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Petite qestion : Soit une table TT avec deux champs T et P contenant les tuples suivants:
TT: T | P ----------- t1 | p1 t2 | p21 t2 | p22
Je cherche une req qui me renverrais soit : t1 | p1 t2 | p21
soit : t1 | p1 t2 | 'p21, p22'
Donc quelque chose qui s'ecrirait SELECT DISTINCT(T), P FROM TT. Sauf que ca ca donne pas ce que je cherche, ca supprime pas les doublons sur T (ce qui est normal au passage) (autre sol : je n'ai pas trouvé de fonction d'agregat qui fasse la concatenantion de chaines)
Merci
J'ai trouvé qqch qui marche meme si c'est pas super efficace : SELECT T, P FROM TT tt WHERE P IN (SELECT MAX (P) FROM TT tt2 WHERE tt2.T = tt.T)
Si il y a plus simple ou plus rapide je suis preneur. Merci
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Fred BROUARD
Salut,
Rickal a écrit:
Salut,
Petite qestion : Soit une table TT avec deux champs T et P contenant les tuples suivants:
TT: T | P ----------- t1 | p1 t2 | p21 t2 | p22
Je cherche une req qui me renverrais soit : t1 | p1 t2 | p21
SELECT T, MIN(P) FROM MaTable GROUP BY T
A +
soit : t1 | p1 t2 | 'p21, p22'
Donc quelque chose qui s'ecrirait SELECT DISTINCT(T), P FROM TT. Sauf que ca ca donne pas ce que je cherche, ca supprime pas les doublons sur T (ce qui est normal au passage) (autre sol : je n'ai pas trouvé de fonction d'agregat qui fasse la concatenantion de chaines)
Merci
-- Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ****************** mailto: ******************
Salut,
Rickal a écrit:
Salut,
Petite qestion : Soit une table TT avec deux champs T et P contenant les
tuples suivants:
TT:
T | P
-----------
t1 | p1
t2 | p21
t2 | p22
Je cherche une req qui me renverrais soit :
t1 | p1
t2 | p21
SELECT T, MIN(P)
FROM MaTable
GROUP BY T
A +
soit :
t1 | p1
t2 | 'p21, p22'
Donc quelque chose qui s'ecrirait SELECT DISTINCT(T), P FROM TT.
Sauf que ca ca donne pas ce que je cherche, ca supprime pas les doublons
sur T (ce qui est normal au passage) (autre sol : je n'ai pas trouvé de
fonction d'agregat qui fasse la concatenantion de chaines)
Merci
--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto:brouardf@club-internet.fr ******************
Petite qestion : Soit une table TT avec deux champs T et P contenant les tuples suivants:
TT: T | P ----------- t1 | p1 t2 | p21 t2 | p22
Je cherche une req qui me renverrais soit : t1 | p1 t2 | p21
SELECT T, MIN(P) FROM MaTable GROUP BY T
A +
soit : t1 | p1 t2 | 'p21, p22'
Donc quelque chose qui s'ecrirait SELECT DISTINCT(T), P FROM TT. Sauf que ca ca donne pas ce que je cherche, ca supprime pas les doublons sur T (ce qui est normal au passage) (autre sol : je n'ai pas trouvé de fonction d'agregat qui fasse la concatenantion de chaines)
Merci
-- Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ****************** mailto: ******************
Rickal
aaaouchh c'est dramatique en termes de perfs, quelqu'un a mieux?
Rickal avait énoncé :
Rickal a exposé le 22/04/2004 :
Salut,
Petite qestion : Soit une table TT avec deux champs T et P contenant les tuples suivants:
TT: T | P ----------- t1 | p1 t2 | p21 t2 | p22
Je cherche une req qui me renverrais soit : t1 | p1 t2 | p21
soit : t1 | p1 t2 | 'p21, p22'
Donc quelque chose qui s'ecrirait SELECT DISTINCT(T), P FROM TT. Sauf que ca ca donne pas ce que je cherche, ca supprime pas les doublons sur T (ce qui est normal au passage) (autre sol : je n'ai pas trouvé de fonction d'agregat qui fasse la concatenantion de chaines)
Merci
J'ai trouvé qqch qui marche meme si c'est pas super efficace : SELECT T, P FROM TT tt WHERE P IN (SELECT MAX (P) FROM TT tt2 WHERE tt2.T = tt.T)
Si il y a plus simple ou plus rapide je suis preneur. Merci
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
aaaouchh c'est dramatique en termes de perfs, quelqu'un a mieux?
Rickal avait énoncé :
Rickal a exposé le 22/04/2004 :
Salut,
Petite qestion : Soit une table TT avec deux champs T et P contenant les
tuples suivants:
TT:
T | P
-----------
t1 | p1
t2 | p21
t2 | p22
Je cherche une req qui me renverrais soit :
t1 | p1
t2 | p21
soit :
t1 | p1
t2 | 'p21, p22'
Donc quelque chose qui s'ecrirait SELECT DISTINCT(T), P FROM TT.
Sauf que ca ca donne pas ce que je cherche, ca supprime pas les doublons
sur T (ce qui est normal au passage) (autre sol : je n'ai pas trouvé de
fonction d'agregat qui fasse la concatenantion de chaines)
Merci
J'ai trouvé qqch qui marche meme si c'est pas super efficace :
SELECT T, P
FROM TT tt
WHERE P IN (SELECT MAX (P)
FROM TT tt2
WHERE tt2.T = tt.T)
Si il y a plus simple ou plus rapide je suis preneur.
Merci
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
aaaouchh c'est dramatique en termes de perfs, quelqu'un a mieux?
Rickal avait énoncé :
Rickal a exposé le 22/04/2004 :
Salut,
Petite qestion : Soit une table TT avec deux champs T et P contenant les tuples suivants:
TT: T | P ----------- t1 | p1 t2 | p21 t2 | p22
Je cherche une req qui me renverrais soit : t1 | p1 t2 | p21
soit : t1 | p1 t2 | 'p21, p22'
Donc quelque chose qui s'ecrirait SELECT DISTINCT(T), P FROM TT. Sauf que ca ca donne pas ce que je cherche, ca supprime pas les doublons sur T (ce qui est normal au passage) (autre sol : je n'ai pas trouvé de fonction d'agregat qui fasse la concatenantion de chaines)
Merci
J'ai trouvé qqch qui marche meme si c'est pas super efficace : SELECT T, P FROM TT tt WHERE P IN (SELECT MAX (P) FROM TT tt2 WHERE tt2.T = tt.T)
Si il y a plus simple ou plus rapide je suis preneur. Merci
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Rickal
Fred BROUARD a formulé ce jeudi :
Salut,
Rickal a écrit:
Salut,
Petite qestion : Soit une table TT avec deux champs T et P contenant les tuples suivants:
TT: T | P ----------- t1 | p1 t2 | p21 t2 | p22
Je cherche une req qui me renverrais soit : t1 | p1 t2 | p21
SELECT T, MIN(P) FROM MaTable GROUP BY T
A +
bon sang mais c'est bien sur!!!, merci bcp, je suis vraiment pas dedans aujourd'hui!! Dis moi, est-ce qu'il existe une fonction d'agregat qui me permettrait à la place du MIN de faire une concatenation comme p21 + '/' + p22 + ... + '/' + p2n avec p21, p22,..., p2n des varchar?
a+
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Fred BROUARD a formulé ce jeudi :
Salut,
Rickal a écrit:
Salut,
Petite qestion : Soit une table TT avec deux champs T et P contenant les
tuples suivants:
TT:
T | P
-----------
t1 | p1
t2 | p21
t2 | p22
Je cherche une req qui me renverrais soit :
t1 | p1
t2 | p21
SELECT T, MIN(P)
FROM MaTable
GROUP BY T
A +
bon sang mais c'est bien sur!!!, merci bcp, je suis vraiment pas dedans
aujourd'hui!!
Dis moi, est-ce qu'il existe une fonction d'agregat qui me permettrait
à la place du MIN de faire une concatenation comme
p21 + '/' + p22 + ... + '/' + p2n
avec p21, p22,..., p2n des varchar?
a+
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Petite qestion : Soit une table TT avec deux champs T et P contenant les tuples suivants:
TT: T | P ----------- t1 | p1 t2 | p21 t2 | p22
Je cherche une req qui me renverrais soit : t1 | p1 t2 | p21
SELECT T, MIN(P) FROM MaTable GROUP BY T
A +
bon sang mais c'est bien sur!!!, merci bcp, je suis vraiment pas dedans aujourd'hui!! Dis moi, est-ce qu'il existe une fonction d'agregat qui me permettrait à la place du MIN de faire une concatenation comme p21 + '/' + p22 + ... + '/' + p2n avec p21, p22,..., p2n des varchar?
a+
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Fred BROUARD
C'est possible, mais complexe en SQL "pur" et unqiuement si le nombre d'occurence est limité. En plus c'est déconseillé. A lire : http://sqlpro.developpez.com/SQL_AZ_E.html#Cosmos
En revanche avec les notions d'analyse multi dimensionelle c'est plus facile à faire (PIVOT).
A +
Rickal a écrit:
Fred BROUARD a formulé ce jeudi :
Salut,
Rickal a écrit:
Salut,
Petite qestion : Soit une table TT avec deux champs T et P contenant les tuples suivants:
TT: T | P ----------- t1 | p1 t2 | p21 t2 | p22
Je cherche une req qui me renverrais soit : t1 | p1 t2 | p21
SELECT T, MIN(P) FROM MaTable GROUP BY T
A +
bon sang mais c'est bien sur!!!, merci bcp, je suis vraiment pas dedans aujourd'hui!! Dis moi, est-ce qu'il existe une fonction d'agregat qui me permettrait à la place du MIN de faire une concatenation comme p21 + '/' + p22 + ... + '/' + p2n avec p21, p22,..., p2n des varchar?
a+
-- Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ****************** mailto: ******************
C'est possible, mais complexe en SQL "pur" et unqiuement si le nombre
d'occurence est limité. En plus c'est déconseillé.
A lire :
http://sqlpro.developpez.com/SQL_AZ_E.html#Cosmos
En revanche avec les notions d'analyse multi dimensionelle c'est plus
facile à faire (PIVOT).
A +
Rickal a écrit:
Fred BROUARD a formulé ce jeudi :
Salut,
Rickal a écrit:
Salut,
Petite qestion : Soit une table TT avec deux champs T et P contenant
les tuples suivants:
TT:
T | P
-----------
t1 | p1
t2 | p21
t2 | p22
Je cherche une req qui me renverrais soit :
t1 | p1
t2 | p21
SELECT T, MIN(P)
FROM MaTable
GROUP BY T
A +
bon sang mais c'est bien sur!!!, merci bcp, je suis vraiment pas dedans
aujourd'hui!!
Dis moi, est-ce qu'il existe une fonction d'agregat qui me permettrait à
la place du MIN de faire une concatenation comme
p21 + '/' + p22 + ... + '/' + p2n
avec p21, p22,..., p2n des varchar?
a+
--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto:brouardf@club-internet.fr ******************
C'est possible, mais complexe en SQL "pur" et unqiuement si le nombre d'occurence est limité. En plus c'est déconseillé. A lire : http://sqlpro.developpez.com/SQL_AZ_E.html#Cosmos
En revanche avec les notions d'analyse multi dimensionelle c'est plus facile à faire (PIVOT).
A +
Rickal a écrit:
Fred BROUARD a formulé ce jeudi :
Salut,
Rickal a écrit:
Salut,
Petite qestion : Soit une table TT avec deux champs T et P contenant les tuples suivants:
TT: T | P ----------- t1 | p1 t2 | p21 t2 | p22
Je cherche une req qui me renverrais soit : t1 | p1 t2 | p21
SELECT T, MIN(P) FROM MaTable GROUP BY T
A +
bon sang mais c'est bien sur!!!, merci bcp, je suis vraiment pas dedans aujourd'hui!! Dis moi, est-ce qu'il existe une fonction d'agregat qui me permettrait à la place du MIN de faire une concatenation comme p21 + '/' + p22 + ... + '/' + p2n avec p21, p22,..., p2n des varchar?
a+
-- Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ****************** mailto: ******************