Bonsoir ici !
Mes contraintes sont telles qu'il fallait que je trouve ça en une requête, et c'est chose faite à présent.
Bon, effectivement ce n'est pas possible de faire ça avec une instruction SQL définie.
Des fois que quelqu'un se pose la même question que moi, ce qui ne devrait pas représenter grande monde ...
Il faut créer une fonction en PL/SQL, qu'il est donc possible d'utiliser de manière transparente en SQL.
La création de la fonction...
create or replace
function MonStrCat( ArgIdent in number )
return varchar2
is
VarRetour varchar2(2000) default null;
VarSep varchar2(2) default null; begin
for x in ( select Nom from MaTable where Ident = ArgIdent ) loop
VarRetour := VarRetour || VarSep || x.Nom;
VarSep := ', ';
end loop;
return VarRetour;
end;
/
|
La requête SQL...
select Ident, MonStrCat(Ident) Noms
from MaTable
group by Ident;
|