Hi @Dylan,
Please try the following solution.
It is using SQL Server's XQuery to shred the XML.
-- DDL and sample data population, start
DECLARE @tbl TABLE (DOC_NBR VARCHAR(20) PRIMARY KEY,CURRENT_DOC XML);
INSERT @tbl (DOC_NBR, CURRENT_DOC) VALUES
('BCF230600135',
N'<Form formVersionId="207f742">
<Applicant userGuid="3565-4acd" account="com1" name="南"/>
<FormFieldValue>
<FieldItem fieldId="VAA_Form" fieldValue="BCF230600038" realValue="" enableSearch="True"/>
<FieldItem fieldId="VAA_DP" fieldValue="C02000" realValue="" enableSearch="True"/>
<FieldItem fieldId="VAA_Applicant" fieldValue="201079" realValue=";" enableSearch="True"/>
<FieldItem fieldId="VAA_Visitor" enableSearch="True" fillerName="" fillerUserGuid="c2a8591c33" fillerAccount="201079" fillSiteId="">
<DataGrid>
<Row order="0">
<Cell fieldId="VAA_CP" fieldValue="Energy" realValue="" customValue="" enableSearch="True"/>
<Cell fieldId="VAA_Name" fieldValue="Sean" realValue="" customValue="" enableSearch="True"/>
<Cell fieldId="VAA_Vtittle" fieldValue="Engineering Director" realValue="" customValue="" enableSearch="True"/>
<Cell fieldId="VAA_Tel" fieldValue="5098" realValue="" customValue="" enableSearch="True"/>
<Cell fieldId="VAA_CNumber" fieldValue="無" realValue="" customValue="" enableSearch="True"/>
</Row>
</DataGrid>
</FieldItem>
<FieldItem fieldId="VAA_Check" fieldValue="用餐" realValue="" customValue="@null" enableSearch="True" fillerName="柏" fillerUserGuid="c2a8591c33" fillerAccount="201079" fillSiteId=""/>
<FieldItem fieldId="VAA_Meals" enableSearch="True" fillerName="柏" fillerUserGuid="c2a8591c33" fillerAccount="201079" fillSiteId="">
<DataGrid>
<Row order="0">
<Cell fieldId="VAA_MDate" fieldValue="2023/06/14" realValue="" customValue="" enableSearch="True"/>
<Cell fieldId="VAA_Mcheck" fieldValue="130元" realValue="" customValue="" enableSearch="True" fieldMessage=""/>
<Cell fieldId="VAA_Text" fieldValue="7" realValue="" customValue="" enableSearch="True"/>
</Row>
<Row order="1">
<Cell fieldId="VAA_MDate" fieldValue="2023/06/14" realValue="" customValue="" enableSearch="True"/>
<Cell fieldId="VAA_Mcheck" fieldValue="130元" realValue="" customValue="" enableSearch="True" fieldMessage=""/>
<Cell fieldId="VAA_Text" fieldValue="1" realValue="" customValue="" enableSearch="True"/>
</Row>
</DataGrid>
</FieldItem>
</FormFieldValue>
</Form>');
-- DDL and sample data population, end
SELECT DOC_NBR
, c.value('(Cell[@fieldId="VAA_CP"]/@fieldValue)[1]', 'NVARCHAR(30)') AS VAA_CP
, c.value('(Cell[@fieldId="VAA_Name"]/@fieldValue)[1]', 'NVARCHAR(30)') AS VAA_Name
, c.value('(Cell[@fieldId="VAA_Vtittle"]/@fieldValue)[1]', 'NVARCHAR(30)') AS VAA_Vtittle
, c.value('(Cell[@fieldId="VAA_Tel"]/@fieldValue)[1]', 'NVARCHAR(30)') AS VAA_Tel
, c.value('(Cell[@fieldId="VAA_CNumber"]/@fieldValue)[1]', 'NVARCHAR(30)') AS VAA_CNumber
FROM @tbl
CROSS APPLY current_doc.nodes('/Form/FormFieldValue/FieldItem[@fieldId="VAA_Visitor"]/DataGrid/Row') AS t(c);