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:
Ou les deux
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(sybase ne fait pas parti de mon domaine de compétences vous l'aurez compris)
Merci pour toutes vos contributions
Partager