• ...and this example shows how to achieve it with a CROSS APPLY.

    SELECT

    p.value('@Id[1]','int') AS PropertyId,

    c.value('(CountryCode/text())[1]', 'varchar(256)') as CountryCode,

    c.value('(Number/text())[1]', 'varchar(256)') as PhoneNumber

    FROM @x.nodes('//Property') n(p)

    CROSS APPLY p.nodes('PhoneList/Phone') t(c)

    .