Un truc bete, mais a part faire une focntion specifique je vois pas comment
le resoudre.
j'ai 2 tables ...
une ligne de la table A peut ramener n ligne de la table B
pour les besoins d'un client
je dois ramener sa ligne de la table A, rajouter un champ qui contient les
valeurs de la table B si il y'a des enregistrements.
Table A = ID1
table B
ID1 | TOTO
ID1 | TITI
ID1 | ZOZO
devrait donner
ID1 ; TOTO | TITI | ZOZO
en gros la table B est une liste d'anomalies metier trouvées sur la table A
je renvoi donc la ligne incriminé et toute les anomalies que le client doit
corriger.
mais comme je peut pas lui donner il faut que je lui rende sous cette forme.
comme je le disais je pense qu'on doit pouvoir le faire avec un simple
select, mais j'ai pas trouvé a part avec une fonction...
avez vous des pistes ?
Un truc bete, mais a part faire une focntion specifique je vois pas comment
le resoudre.
j'ai 2 tables ...
une ligne de la table A peut ramener n ligne de la table B
pour les besoins d'un client
je dois ramener sa ligne de la table A, rajouter un champ qui contient les
valeurs de la table B si il y'a des enregistrements.
Table A = ID1
table B
ID1 | TOTO
ID1 | TITI
ID1 | ZOZO
devrait donner
ID1 ; TOTO | TITI | ZOZO
en gros la table B est une liste d'anomalies metier trouvées sur la table A
je renvoi donc la ligne incriminé et toute les anomalies que le client doit
corriger.
mais comme je peut pas lui donner il faut que je lui rende sous cette forme.
comme je le disais je pense qu'on doit pouvoir le faire avec un simple
select, mais j'ai pas trouvé a part avec une fonction...
avez vous des pistes ?
Un truc bete, mais a part faire une focntion specifique je vois pas comment
le resoudre.
j'ai 2 tables ...
une ligne de la table A peut ramener n ligne de la table B
pour les besoins d'un client
je dois ramener sa ligne de la table A, rajouter un champ qui contient les
valeurs de la table B si il y'a des enregistrements.
Table A = ID1
table B
ID1 | TOTO
ID1 | TITI
ID1 | ZOZO
devrait donner
ID1 ; TOTO | TITI | ZOZO
en gros la table B est une liste d'anomalies metier trouvées sur la table A
je renvoi donc la ligne incriminé et toute les anomalies que le client doit
corriger.
mais comme je peut pas lui donner il faut que je lui rende sous cette forme.
comme je le disais je pense qu'on doit pouvoir le faire avec un simple
select, mais j'ai pas trouvé a part avec une fonction...
avez vous des pistes ?
Bonjour Ch,
Regardes un peu du côté des PIVOT et Cross Join si tu as SQL Server 2005
ou plus.
A+ ;-)
Le 26.08.2009, Ch. a supposé :Un truc bete, mais a part faire une focntion specifique je vois pas
comment le resoudre.
j'ai 2 tables ...
une ligne de la table A peut ramener n ligne de la table B
pour les besoins d'un client
je dois ramener sa ligne de la table A, rajouter un champ qui contient
les valeurs de la table B si il y'a des enregistrements.
Table A = ID1
table B
ID1 | TOTO
ID1 | TITI
ID1 | ZOZO
devrait donner
ID1 ; TOTO | TITI | ZOZO
en gros la table B est une liste d'anomalies metier trouvées sur la table
A
je renvoi donc la ligne incriminé et toute les anomalies que le client
doit corriger.
mais comme je peut pas lui donner il faut que je lui rende sous cette
forme.
comme je le disais je pense qu'on doit pouvoir le faire avec un simple
select, mais j'ai pas trouvé a part avec une fonction...
avez vous des pistes ?
--
*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org
Bonjour Ch,
Regardes un peu du côté des PIVOT et Cross Join si tu as SQL Server 2005
ou plus.
A+ ;-)
Le 26.08.2009, Ch. a supposé :
Un truc bete, mais a part faire une focntion specifique je vois pas
comment le resoudre.
j'ai 2 tables ...
une ligne de la table A peut ramener n ligne de la table B
pour les besoins d'un client
je dois ramener sa ligne de la table A, rajouter un champ qui contient
les valeurs de la table B si il y'a des enregistrements.
Table A = ID1
table B
ID1 | TOTO
ID1 | TITI
ID1 | ZOZO
devrait donner
ID1 ; TOTO | TITI | ZOZO
en gros la table B est une liste d'anomalies metier trouvées sur la table
A
je renvoi donc la ligne incriminé et toute les anomalies que le client
doit corriger.
mais comme je peut pas lui donner il faut que je lui rende sous cette
forme.
comme je le disais je pense qu'on doit pouvoir le faire avec un simple
select, mais j'ai pas trouvé a part avec une fonction...
avez vous des pistes ?
--
*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org
Bonjour Ch,
Regardes un peu du côté des PIVOT et Cross Join si tu as SQL Server 2005
ou plus.
A+ ;-)
Le 26.08.2009, Ch. a supposé :Un truc bete, mais a part faire une focntion specifique je vois pas
comment le resoudre.
j'ai 2 tables ...
une ligne de la table A peut ramener n ligne de la table B
pour les besoins d'un client
je dois ramener sa ligne de la table A, rajouter un champ qui contient
les valeurs de la table B si il y'a des enregistrements.
Table A = ID1
table B
ID1 | TOTO
ID1 | TITI
ID1 | ZOZO
devrait donner
ID1 ; TOTO | TITI | ZOZO
en gros la table B est une liste d'anomalies metier trouvées sur la table
A
je renvoi donc la ligne incriminé et toute les anomalies que le client
doit corriger.
mais comme je peut pas lui donner il faut que je lui rende sous cette
forme.
comme je le disais je pense qu'on doit pouvoir le faire avec un simple
select, mais j'ai pas trouvé a part avec une fonction...
avez vous des pistes ?
--
*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org
ou éventuellement une fonction de concaténation CLR (plein d'exemples sur
le Net)
BR
"EmanuelL" wrote in message
news:Bonjour Ch,
Regardes un peu du côté des PIVOT et Cross Join si tu as SQL Server 2005
ou plus.
A+ ;-)
Le 26.08.2009, Ch. a supposé :Un truc bete, mais a part faire une focntion specifique je vois pas
comment le resoudre.
j'ai 2 tables ...
une ligne de la table A peut ramener n ligne de la table B
pour les besoins d'un client
je dois ramener sa ligne de la table A, rajouter un champ qui contient
les valeurs de la table B si il y'a des enregistrements.
Table A = ID1
table B
ID1 | TOTO
ID1 | TITI
ID1 | ZOZO
devrait donner
ID1 ; TOTO | TITI | ZOZO
en gros la table B est une liste d'anomalies metier trouvées sur la
table A
je renvoi donc la ligne incriminé et toute les anomalies que le client
doit corriger.
mais comme je peut pas lui donner il faut que je lui rende sous cette
forme.
comme je le disais je pense qu'on doit pouvoir le faire avec un simple
select, mais j'ai pas trouvé a part avec une fonction...
avez vous des pistes ?
--
*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org
ou éventuellement une fonction de concaténation CLR (plein d'exemples sur
le Net)
BR
"EmanuelL" <support@_nopop_fiduconsult.com> wrote in message
news:mn.d2e17d986ed9bf20.10594@nopopfiduconsult.com...
Bonjour Ch,
Regardes un peu du côté des PIVOT et Cross Join si tu as SQL Server 2005
ou plus.
A+ ;-)
Le 26.08.2009, Ch. a supposé :
Un truc bete, mais a part faire une focntion specifique je vois pas
comment le resoudre.
j'ai 2 tables ...
une ligne de la table A peut ramener n ligne de la table B
pour les besoins d'un client
je dois ramener sa ligne de la table A, rajouter un champ qui contient
les valeurs de la table B si il y'a des enregistrements.
Table A = ID1
table B
ID1 | TOTO
ID1 | TITI
ID1 | ZOZO
devrait donner
ID1 ; TOTO | TITI | ZOZO
en gros la table B est une liste d'anomalies metier trouvées sur la
table A
je renvoi donc la ligne incriminé et toute les anomalies que le client
doit corriger.
mais comme je peut pas lui donner il faut que je lui rende sous cette
forme.
comme je le disais je pense qu'on doit pouvoir le faire avec un simple
select, mais j'ai pas trouvé a part avec une fonction...
avez vous des pistes ?
--
*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org
ou éventuellement une fonction de concaténation CLR (plein d'exemples sur
le Net)
BR
"EmanuelL" wrote in message
news:Bonjour Ch,
Regardes un peu du côté des PIVOT et Cross Join si tu as SQL Server 2005
ou plus.
A+ ;-)
Le 26.08.2009, Ch. a supposé :Un truc bete, mais a part faire une focntion specifique je vois pas
comment le resoudre.
j'ai 2 tables ...
une ligne de la table A peut ramener n ligne de la table B
pour les besoins d'un client
je dois ramener sa ligne de la table A, rajouter un champ qui contient
les valeurs de la table B si il y'a des enregistrements.
Table A = ID1
table B
ID1 | TOTO
ID1 | TITI
ID1 | ZOZO
devrait donner
ID1 ; TOTO | TITI | ZOZO
en gros la table B est une liste d'anomalies metier trouvées sur la
table A
je renvoi donc la ligne incriminé et toute les anomalies que le client
doit corriger.
mais comme je peut pas lui donner il faut que je lui rende sous cette
forme.
comme je le disais je pense qu'on doit pouvoir le faire avec un simple
select, mais j'ai pas trouvé a part avec une fonction...
avez vous des pistes ?
--
*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org
ou éventuellement une fonction de concaténation CLR (plein d'exemples sur
le Net)
BR
"EmanuelL" wrote in message
news:Bonjour Ch,
Regardes un peu du côté des PIVOT et Cross Join si tu as SQL Server 2005
ou plus.
A+ ;-)
Le 26.08.2009, Ch. a supposé :Un truc bete, mais a part faire une focntion specifique je vois pas
comment le resoudre.
j'ai 2 tables ...
une ligne de la table A peut ramener n ligne de la table B
pour les besoins d'un client
je dois ramener sa ligne de la table A, rajouter un champ qui contient
les valeurs de la table B si il y'a des enregistrements.
Table A = ID1
table B
ID1 | TOTO
ID1 | TITI
ID1 | ZOZO
devrait donner
ID1 ; TOTO | TITI | ZOZO
en gros la table B est une liste d'anomalies metier trouvées sur la
table A
je renvoi donc la ligne incriminé et toute les anomalies que le client
doit corriger.
mais comme je peut pas lui donner il faut que je lui rende sous cette
forme.
comme je le disais je pense qu'on doit pouvoir le faire avec un simple
select, mais j'ai pas trouvé a part avec une fonction...
avez vous des pistes ?
--
*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org
ou éventuellement une fonction de concaténation CLR (plein d'exemples sur
le Net)
BR
"EmanuelL" <support@_nopop_fiduconsult.com> wrote in message
news:mn.d2e17d986ed9bf20.10594@nopopfiduconsult.com...
Bonjour Ch,
Regardes un peu du côté des PIVOT et Cross Join si tu as SQL Server 2005
ou plus.
A+ ;-)
Le 26.08.2009, Ch. a supposé :
Un truc bete, mais a part faire une focntion specifique je vois pas
comment le resoudre.
j'ai 2 tables ...
une ligne de la table A peut ramener n ligne de la table B
pour les besoins d'un client
je dois ramener sa ligne de la table A, rajouter un champ qui contient
les valeurs de la table B si il y'a des enregistrements.
Table A = ID1
table B
ID1 | TOTO
ID1 | TITI
ID1 | ZOZO
devrait donner
ID1 ; TOTO | TITI | ZOZO
en gros la table B est une liste d'anomalies metier trouvées sur la
table A
je renvoi donc la ligne incriminé et toute les anomalies que le client
doit corriger.
mais comme je peut pas lui donner il faut que je lui rende sous cette
forme.
comme je le disais je pense qu'on doit pouvoir le faire avec un simple
select, mais j'ai pas trouvé a part avec une fonction...
avez vous des pistes ?
--
*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org
ou éventuellement une fonction de concaténation CLR (plein d'exemples sur
le Net)
BR
"EmanuelL" wrote in message
news:Bonjour Ch,
Regardes un peu du côté des PIVOT et Cross Join si tu as SQL Server 2005
ou plus.
A+ ;-)
Le 26.08.2009, Ch. a supposé :Un truc bete, mais a part faire une focntion specifique je vois pas
comment le resoudre.
j'ai 2 tables ...
une ligne de la table A peut ramener n ligne de la table B
pour les besoins d'un client
je dois ramener sa ligne de la table A, rajouter un champ qui contient
les valeurs de la table B si il y'a des enregistrements.
Table A = ID1
table B
ID1 | TOTO
ID1 | TITI
ID1 | ZOZO
devrait donner
ID1 ; TOTO | TITI | ZOZO
en gros la table B est une liste d'anomalies metier trouvées sur la
table A
je renvoi donc la ligne incriminé et toute les anomalies que le client
doit corriger.
mais comme je peut pas lui donner il faut que je lui rende sous cette
forme.
comme je le disais je pense qu'on doit pouvoir le faire avec un simple
select, mais j'ai pas trouvé a part avec une fonction...
avez vous des pistes ?
--
*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org
oui bruno avec une fonction ca marche nickel.
je voulais juste savoir si il y'avait un moyen dans l''ecriture du T-SQL
c'est pour moi Perso, je suis presque sur qu'il doit y avoir un moyen de
faire ça, sans fonction.
"bruno reiter" a écrit dans le message de
news:ou éventuellement une fonction de concaténation CLR (plein d'exemples sur
le Net)
BR
"EmanuelL" wrote in message
news:Bonjour Ch,
Regardes un peu du côté des PIVOT et Cross Join si tu as SQL Server 2005
ou plus.
A+ ;-)
Le 26.08.2009, Ch. a supposé :Un truc bete, mais a part faire une focntion specifique je vois pas
comment le resoudre.
j'ai 2 tables ...
une ligne de la table A peut ramener n ligne de la table B
pour les besoins d'un client
je dois ramener sa ligne de la table A, rajouter un champ qui contient
les valeurs de la table B si il y'a des enregistrements.
Table A = ID1
table B
ID1 | TOTO
ID1 | TITI
ID1 | ZOZO
devrait donner
ID1 ; TOTO | TITI | ZOZO
en gros la table B est une liste d'anomalies metier trouvées sur la
table A
je renvoi donc la ligne incriminé et toute les anomalies que le client
doit corriger.
mais comme je peut pas lui donner il faut que je lui rende sous cette
forme.
comme je le disais je pense qu'on doit pouvoir le faire avec un simple
select, mais j'ai pas trouvé a part avec une fonction...
avez vous des pistes ?
--
*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org
oui bruno avec une fonction ca marche nickel.
je voulais juste savoir si il y'avait un moyen dans l''ecriture du T-SQL
c'est pour moi Perso, je suis presque sur qu'il doit y avoir un moyen de
faire ça, sans fonction.
"bruno reiter" <delete-this.br33@terra.com.br> a écrit dans le message de
news:uO22SfkJKHA.6016@TK2MSFTNGP05.phx.gbl...
ou éventuellement une fonction de concaténation CLR (plein d'exemples sur
le Net)
BR
"EmanuelL" <support@_nopop_fiduconsult.com> wrote in message
news:mn.d2e17d986ed9bf20.10594@nopopfiduconsult.com...
Bonjour Ch,
Regardes un peu du côté des PIVOT et Cross Join si tu as SQL Server 2005
ou plus.
A+ ;-)
Le 26.08.2009, Ch. a supposé :
Un truc bete, mais a part faire une focntion specifique je vois pas
comment le resoudre.
j'ai 2 tables ...
une ligne de la table A peut ramener n ligne de la table B
pour les besoins d'un client
je dois ramener sa ligne de la table A, rajouter un champ qui contient
les valeurs de la table B si il y'a des enregistrements.
Table A = ID1
table B
ID1 | TOTO
ID1 | TITI
ID1 | ZOZO
devrait donner
ID1 ; TOTO | TITI | ZOZO
en gros la table B est une liste d'anomalies metier trouvées sur la
table A
je renvoi donc la ligne incriminé et toute les anomalies que le client
doit corriger.
mais comme je peut pas lui donner il faut que je lui rende sous cette
forme.
comme je le disais je pense qu'on doit pouvoir le faire avec un simple
select, mais j'ai pas trouvé a part avec une fonction...
avez vous des pistes ?
--
*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org
oui bruno avec une fonction ca marche nickel.
je voulais juste savoir si il y'avait un moyen dans l''ecriture du T-SQL
c'est pour moi Perso, je suis presque sur qu'il doit y avoir un moyen de
faire ça, sans fonction.
"bruno reiter" a écrit dans le message de
news:ou éventuellement une fonction de concaténation CLR (plein d'exemples sur
le Net)
BR
"EmanuelL" wrote in message
news:Bonjour Ch,
Regardes un peu du côté des PIVOT et Cross Join si tu as SQL Server 2005
ou plus.
A+ ;-)
Le 26.08.2009, Ch. a supposé :Un truc bete, mais a part faire une focntion specifique je vois pas
comment le resoudre.
j'ai 2 tables ...
une ligne de la table A peut ramener n ligne de la table B
pour les besoins d'un client
je dois ramener sa ligne de la table A, rajouter un champ qui contient
les valeurs de la table B si il y'a des enregistrements.
Table A = ID1
table B
ID1 | TOTO
ID1 | TITI
ID1 | ZOZO
devrait donner
ID1 ; TOTO | TITI | ZOZO
en gros la table B est une liste d'anomalies metier trouvées sur la
table A
je renvoi donc la ligne incriminé et toute les anomalies que le client
doit corriger.
mais comme je peut pas lui donner il faut que je lui rende sous cette
forme.
comme je le disais je pense qu'on doit pouvoir le faire avec un simple
select, mais j'ai pas trouvé a part avec une fonction...
avez vous des pistes ?
--
*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org
USE AdventureWorks2008
GO
-- concaténation sur agrégation avec XML-----------------------------
SELECT DISTINCT GroupName,
SUBSTRING(
(SELECT ','+name AS [text()]
FROM HumanResources.Department
WHERE GroupName = T.GroupName
ORDER BY name
FOR XML PATH( '' )
), 2,100) AS concat
FROM HumanResources.Department AS T;
-- concaténation sur agrégation avec UDF-----------------------------
CREATE FUNCTION dbo.Concat (@Param NVARCHAR(50))
RETURNS NVARCHAR(4000)AS
BEGIN
DECLARE @Output NVARCHAR(4000)
SET @Output = ''
SELECT @Output = CASE @Output
WHEN '' THEN name
ELSE @Output + ', ' + name
END
FROM HumanResources.Department
WHERE GroupName = @Param
ORDER BY name
RETURN @Output
END
GO
SELECT DISTINCT GroupName, dbo.Concat(GroupName)FROM
HumanResources.Department
ORDER BY GroupName
"Ch." wrote in message
news:oui bruno avec une fonction ca marche nickel.
je voulais juste savoir si il y'avait un moyen dans l''ecriture du T-SQL
c'est pour moi Perso, je suis presque sur qu'il doit y avoir un moyen
de faire ça, sans fonction.
"bruno reiter" a écrit dans le message
de news:ou éventuellement une fonction de concaténation CLR (plein d'exemples
sur le Net)
BR
"EmanuelL" wrote in message
news:Bonjour Ch,
Regardes un peu du côté des PIVOT et Cross Join si tu as SQL Server
2005 ou plus.
A+ ;-)
Le 26.08.2009, Ch. a supposé :Un truc bete, mais a part faire une focntion specifique je vois pas
comment le resoudre.
j'ai 2 tables ...
une ligne de la table A peut ramener n ligne de la table B
pour les besoins d'un client
je dois ramener sa ligne de la table A, rajouter un champ qui
contient les valeurs de la table B si il y'a des enregistrements.
Table A = ID1
table B
ID1 | TOTO
ID1 | TITI
ID1 | ZOZO
devrait donner
ID1 ; TOTO | TITI | ZOZO
en gros la table B est une liste d'anomalies metier trouvées sur la
table A
je renvoi donc la ligne incriminé et toute les anomalies que le
client doit corriger.
mais comme je peut pas lui donner il faut que je lui rende sous
cette forme.
comme je le disais je pense qu'on doit pouvoir le faire avec un
simple select, mais j'ai pas trouvé a part avec une fonction...
avez vous des pistes ?
--
*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org
USE AdventureWorks2008
GO
-- concaténation sur agrégation avec XML-----------------------------
SELECT DISTINCT GroupName,
SUBSTRING(
(SELECT ','+name AS [text()]
FROM HumanResources.Department
WHERE GroupName = T.GroupName
ORDER BY name
FOR XML PATH( '' )
), 2,100) AS concat
FROM HumanResources.Department AS T;
-- concaténation sur agrégation avec UDF-----------------------------
CREATE FUNCTION dbo.Concat (@Param NVARCHAR(50))
RETURNS NVARCHAR(4000)AS
BEGIN
DECLARE @Output NVARCHAR(4000)
SET @Output = ''
SELECT @Output = CASE @Output
WHEN '' THEN name
ELSE @Output + ', ' + name
END
FROM HumanResources.Department
WHERE GroupName = @Param
ORDER BY name
RETURN @Output
END
GO
SELECT DISTINCT GroupName, dbo.Concat(GroupName)FROM
HumanResources.Department
ORDER BY GroupName
"Ch." <christophe.perez@pjms.fr> wrote in message
news:E0EF238A-105B-48BA-90FD-A9670D5C901D@microsoft.com...
oui bruno avec une fonction ca marche nickel.
je voulais juste savoir si il y'avait un moyen dans l''ecriture du T-SQL
c'est pour moi Perso, je suis presque sur qu'il doit y avoir un moyen
de faire ça, sans fonction.
"bruno reiter" <delete-this.br33@terra.com.br> a écrit dans le message
de news:uO22SfkJKHA.6016@TK2MSFTNGP05.phx.gbl...
ou éventuellement une fonction de concaténation CLR (plein d'exemples
sur le Net)
BR
"EmanuelL" <support@_nopop_fiduconsult.com> wrote in message
news:mn.d2e17d986ed9bf20.10594@nopopfiduconsult.com...
Bonjour Ch,
Regardes un peu du côté des PIVOT et Cross Join si tu as SQL Server
2005 ou plus.
A+ ;-)
Le 26.08.2009, Ch. a supposé :
Un truc bete, mais a part faire une focntion specifique je vois pas
comment le resoudre.
j'ai 2 tables ...
une ligne de la table A peut ramener n ligne de la table B
pour les besoins d'un client
je dois ramener sa ligne de la table A, rajouter un champ qui
contient les valeurs de la table B si il y'a des enregistrements.
Table A = ID1
table B
ID1 | TOTO
ID1 | TITI
ID1 | ZOZO
devrait donner
ID1 ; TOTO | TITI | ZOZO
en gros la table B est une liste d'anomalies metier trouvées sur la
table A
je renvoi donc la ligne incriminé et toute les anomalies que le
client doit corriger.
mais comme je peut pas lui donner il faut que je lui rende sous
cette forme.
comme je le disais je pense qu'on doit pouvoir le faire avec un
simple select, mais j'ai pas trouvé a part avec une fonction...
avez vous des pistes ?
--
*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org
USE AdventureWorks2008
GO
-- concaténation sur agrégation avec XML-----------------------------
SELECT DISTINCT GroupName,
SUBSTRING(
(SELECT ','+name AS [text()]
FROM HumanResources.Department
WHERE GroupName = T.GroupName
ORDER BY name
FOR XML PATH( '' )
), 2,100) AS concat
FROM HumanResources.Department AS T;
-- concaténation sur agrégation avec UDF-----------------------------
CREATE FUNCTION dbo.Concat (@Param NVARCHAR(50))
RETURNS NVARCHAR(4000)AS
BEGIN
DECLARE @Output NVARCHAR(4000)
SET @Output = ''
SELECT @Output = CASE @Output
WHEN '' THEN name
ELSE @Output + ', ' + name
END
FROM HumanResources.Department
WHERE GroupName = @Param
ORDER BY name
RETURN @Output
END
GO
SELECT DISTINCT GroupName, dbo.Concat(GroupName)FROM
HumanResources.Department
ORDER BY GroupName
"Ch." wrote in message
news:oui bruno avec une fonction ca marche nickel.
je voulais juste savoir si il y'avait un moyen dans l''ecriture du T-SQL
c'est pour moi Perso, je suis presque sur qu'il doit y avoir un moyen
de faire ça, sans fonction.
"bruno reiter" a écrit dans le message
de news:ou éventuellement une fonction de concaténation CLR (plein d'exemples
sur le Net)
BR
"EmanuelL" wrote in message
news:Bonjour Ch,
Regardes un peu du côté des PIVOT et Cross Join si tu as SQL Server
2005 ou plus.
A+ ;-)
Le 26.08.2009, Ch. a supposé :Un truc bete, mais a part faire une focntion specifique je vois pas
comment le resoudre.
j'ai 2 tables ...
une ligne de la table A peut ramener n ligne de la table B
pour les besoins d'un client
je dois ramener sa ligne de la table A, rajouter un champ qui
contient les valeurs de la table B si il y'a des enregistrements.
Table A = ID1
table B
ID1 | TOTO
ID1 | TITI
ID1 | ZOZO
devrait donner
ID1 ; TOTO | TITI | ZOZO
en gros la table B est une liste d'anomalies metier trouvées sur la
table A
je renvoi donc la ligne incriminé et toute les anomalies que le
client doit corriger.
mais comme je peut pas lui donner il faut que je lui rende sous
cette forme.
comme je le disais je pense qu'on doit pouvoir le faire avec un
simple select, mais j'ai pas trouvé a part avec une fonction...
avez vous des pistes ?
--
*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org