• + 1 comment

    DB2 Solution: with tb1 as (SELECT max(CASE WHEN OCCUPATION = 'Doctor' THEN NAME END) Doctor, max(CASE WHEN OCCUPATION = 'Professor' THEN NAME END) Professor, max(CASE WHEN OCCUPATION = 'Singer' THEN NAME END) Singer, max(CASE WHEN OCCUPATION = 'Actor' THEN NAME END) Actor FROM (SELECT NAME, OCCUPATION, ROW_NUMBER() OVER (PARTITION BY OCCUPATION ORDER BY NAME) row_num FROM OCCUPATIONS) GROUP BY row_num ORDER BY row_num) select COALESCE(doctor,'Null'), COALESCE(professor,'Null'), COALESCE(singer,'Null'), COALESCE(actor,'Null') from tb1;