このクエリを試すことができます:
SELECT a.application_id,
x.y.query('.') AS DataItemNode,
x.y.value('(@type)[1]','NVARCHAR(50)') AS TypeAttr,
x.y.value('(@value)[1]','NVARCHAR(50)') AS ValueAttr
FROM dbo.tblApplications a
CROSS APPLY a.Content.nodes('/XmlDataPairDocument/dataitem/datagroup/datagroupitem/dataitem[@id="forenames"]') x(y)
また
DECLARE @id NVARCHAR(50);
SET @id='forenames';
SELECT a.application_id,
x.y.query('.') AS DataItemNode,
x.y.value('(@type)[1]','NVARCHAR(50)') AS TypeAttr,
x.y.value('(@value)[1]','NVARCHAR(50)') AS ValueAttr
FROM dbo.tblApplications a
CROSS APPLY a.Content.nodes('/XmlDataPairDocument/dataitem/datagroup/datagroupitem/dataitem[@id = sql:variable("@id")]') x(y)
別の同様の質問と回答:ここ #1、ここ #2