Hello les gens,
Je sais que le sujet a été traité à maintes reprises, mais à chaque fois je trouve des liens qui ne sont pas permanants ou juste un sujet avec "utilise une table pivot" sans plus d'explications. Après je n'ai peut être pas cherché au bon endroit.
Mon besoin en tout cas serait de transformer:
id*****colId*****text
1******1********t1
1******1********t2
1******3********t3
2******1********t4
2******1********t5

en:
id*****text
1*****t1t2t3
2*****t4t5

Pour ce faire une simple fonction d'agrégation type LIST avec un group by id aurait amplement suffit, seulement une telle fonction n'existe pas sur la version que j'ai de sybase.
Si quelqu'un pouvait donc m'expliquer comment faire pour ma table pivot ou encore me donner la traduction d'une fonction plsal oracle de ce type:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
CREATE OR REPLACE FUNCTION get_employees (p_deptno  in  emp.deptno%TYPE)
  RETURN VARCHAR2
IS
  l_text  VARCHAR2(32767) := NULL;
BEGIN
  FOR cur_rec IN (SELECT ename FROM emp WHERE deptno = p_deptno) LOOP
    l_text := l_text || ',' || cur_rec.ename;
  END LOOP;
  RETURN LTRIM(l_text, ',');
END;
/
SHOW ERRORS
Ou les deux (sybase ne fait pas parti de mon domaine de compétences vous l'aurez compris)

Merci pour toutes vos contributions