• WITH source(ID, NAME, ADD1, ADD2, ADD3, ADD4, ADD5, ADD6) AS (

    SELECT 1, 'ABC', '12B', '13B', '14B', '15B', '16B', '17B' FROM dual

    UNION ALL

    SELECT 2, 'BBC', '10V', 'VCF', 'BB', NULL, NULL, NULL FROM dual

    UNION ALL

    SELECT 3, 'ADD', '30', NULL, NULL, NULL, NULL, NULL FROM dual

    )

    SELECT ID, NAME, "ADD"

    FROM source

    UNPIVOT ( "ADD" FOR col IN (ADD1, ADD2, ADD3, ADD4, ADD5, ADD6));

    Tested on oracle 11.2.0.1.

    -- Gianluca Sartori