Salah satu cara mungkin harus dibuatkan FUNCTION (belum cek dari segi performans) :
SQL> CREATE TABLE detail ( 2 group_id NUMBER(1), 3 kd_product VARCHAR2(4), 4 qty NUMBER(5)); Table created. SQL> INSERT INTO detail VALUES (1,'0001',4); 1 row created. SQL> INSERT INTO detail VALUES (1,'0002',5); 1 row created. SQL> INSERT INTO detail VALUES (2,'0005',1); 1 row created. SQL> INSERT INTO detail VALUES (3,'0003',2); 1 row created. SQL> INSERT INTO detail VALUES (3,'0004',2); 1 row created. SQL> INSERT INTO detail VALUES (3,'0008',9); 1 row created. SQL> CREATE OR REPLACE FUNCTION v_2_h (n IN NUMBER) RETURN VARCHAR2 IS 2 x VARCHAR2(1000); 3 BEGIN 4 x := ''; 5 FOR rec IN (SELECT * FROM detail WHERE group_id = n ORDER BY kd_product) LOOP 6 x := x||TO_CHAR(rec.qty)||' '||rec.kd_product||' '||'+ '; 7 END LOOP; 8 RETURN RTRIM(x,' + '); 9 END v_2_h; 10 / Function created. SQL> SELECT v_2_h(group_id) penjualan FROM detail 2 GROUP BY group_id; PENJUALAN ------------------------------------------------------- 4 0001 + 5 0002 1 0005 2 0003 + 2 0004 + 9 0008 hth, AH abe ashfi wrote: > > > Dear all, > Tolong saya dunk.. > > saya punya table detail, datanya > > group_id kd_product qty > 1 0001 4 > 1 0002 5 > 2 0005 1 > 3 0003 2 > 3 0004 2 > 3 0008 9 > > saya mau query dan hasilnya itu akan tampil secara > horizontal. > > penjualan > --------------- > 4 0001 + 5 0002 > 1 0005 > 2 0003 + 2 0004 + 9 0008 > > gimana ya ?? > > tolong ya para master oracle indonesia. > > Bravo Oracle > > __________________________________________________________ > Need a vacation? Get great deals > to amazing places on Yahoo! Travel. > http://travel.yahoo.com/ <http://travel.yahoo.com/> > >

