• I could be completely wrong here but are you sure you do not want result set in one column ? And want it to spread across multiple columns ? If you want it in one column then PFB else you may want to try what ChrisM@Work has suggested ....

    CREATE TABLE #TEMP

    (

    ROWID VARCHAR(100),

    Address1 VARCHAR(100),

    Address2 VARCHAR(100),

    Address3 VARCHAR(100),

    Address4 VARCHAR(100),

    Postcode VARCHAR(100)

    )

    INSERT INTO #TEMP

    SELECT 'ABC123', '13 This St','' ,'' , 'MySuburb', '21334' UNION ALL

    SELECT'ABC123', '','10 Another Rd','Building X','Smithville','34563' UNION ALL

    SELECT'ABC123', 'Unit 3', '','10 Smith St',' Jonesville',' 4356' UNION ALL

    SELECT'BCD987', '3 My Road','' ,'' , 'SuburbX', '234556' UNION ALL

    SELECT'BCD987', '14 Long Rd',' Unit 21','', 'Badtown', '11223' UNION ALL

    SELECT 'DJU765', '2 Short St', '', '', 'MySuburb', '21334'

    SELECT * FROM #TEMP

    SELECT ROWID,STUFF((

    SELECT ',' + Address1 + ',' + Address2 + ',' + Address3 + ',' + Address4 + ',' + Postcode FROM #TEMP INNER_TAB

    WHERE INNER_TAB.ROWID = OUTER_TAB.ROWID

    FOR XML PATH('')),1,1,'') FROM #TEMP OUTER_TAB

    GROUP BY ROWID

    DROP TABLE #TEMP