Skip to main content

Converting Rows to Single Column


Strange solution for someone who is looking into this statement for the first time.

I have used XMLAGG, XMLELEMENT and EXTRACT functions. See if you can crack it.


XMLAGG is an aggregate/group function which aggregates all the values for a column.
XMLELEMENT is a function which creates XML tags with tag element E.
EXTRACT function then removes all the XML text and retains only text.

SELECT   deptno,  XMLAGG (XMLELEMENT (e, ename || ',')).EXTRACT ('//text()') as ENAMES
FROM
   emp
GROUP BY deptno;

This statement will give you an output as below,







If you observe in this output, there is an extra comma at the end of the ENAMEs list. To remove this, I shall use another function RTRIM which is used to trim characters on the right side.

SELECT   deptno,  RTRIM(XMLAGG (XMLELEMENT (e, ename || ',')).EXTRACT ('//text()'),',') as ENAMES
FROM
   emp
GROUP BY deptno;







In case if the output does not show the values properly then use the following command to restrict the column length.

COLUMN ENAMES FORMAT A50


Happy Learning!!!!!!!



Comments

Popular posts from this blog

Basics of RDBMS

Data Small set of information becomes data, this set of information helps make decision. Data is always some useful information. Database Place where you store the data. Database represents some aspect of the real world called "miniworld". A database is designed, built and populated with data for a specific purpose. It has intended group of users and some preconceived applications in which these users are interested. In other words, a database has some source from which data is derived, some degree of interaction with events in the real world and an audience that is actively interested in the contents of the database. Database can also be defined as collection of one or more tables. Ex: Mobile, human brain etc DBMS (Database Management System ) Is a program that stores retrieves and modifies data in the database on request. Study of different techniques of design, development and maintenance of the database Types of DBMS These types are based upon their m...

Installing Oracle 10g Database

Once you have downloaded the software from www.oracle.com/downloads , following steps can be used to install the software. 1. Unzip the dump downloaded from oracle.com 2. Once Unzipped, click on setup.exe to run Oracle Universal Installer Program. This will open a window as shown below.