• Thanks Wayne, your code works wonderfully. I do have a few questions though.

    First, I'm trying to learn/understand this. I get that ItemNumber comes from the DelimitedSplit8K function (which I have and is working). Am I right in guessing that the 'where cte1.ItemNumber =1' is just to select the first row from the returned delimitedsplit8k which is now in a temp table called CTE aliased CTE1. Then a cross join of CTE aliased to CTE2 without the first row so the cross join is doing the work of taking the second and higher values from the CSV aka rows 2+ from the CTE table and gluing the 'Username labeled, row 1 Item field?

    I havent seen this formula before (im kinda new), what would this be called? (the top part, I get the Cartesian join)

    Also, This assumes I have just one row of data to 'unpivot', how can I apply this function to a table of data? (which is about 30 lines long, but will expand to several hundred)?

    example if the question was poorly asked:

    "Username + ',' + csv values" = 'jack,25,A67,91J,35,67,99', so the table is like:

    'jack,25,A67,91J,67,99'

    'jill,5,8,V3'

    'john,7,D4'

    'bill,66,84'

    result:

    'jack','25'

    'jack','A67'

    'jack','91J'

    'jack','67'

    'jack','99'

    'jill','5'

    'jill','8'

    'jill','V3'

    'john','7'

    'john','D4'

    'bill','66'

    'bill','84'