这样试试
DECLARE @xml XML=
'<BMECAT>
<T_NEW_CATALOG>
<ARTICLE mode="new">
<SUPPLIER_AID>9900026005</SUPPLIER_AID>
<ARTICLE_DETAILS>
<DESCRIPTION_SHORT>Totalstop fetra f. LF850x500mm</DESCRIPTION_SHORT>
<EAN>4017976822105</EAN>
<KEYWORD>FK_UNION</KEYWORD>
<KEYWORD>starken</KEYWORD>
<KEYWORD>Transport</KEYWORD>
<KEYWORD>Große</KEYWORD>
<KEYWORD>Lieferanten</KEYWORD>
<KEYWORD>Zentralbremssystem</KEYWORD>
<KEYWORD>Betriebseinrichtung_2016/18_(Online)</KEYWORD>
<KEYWORD>TPE-Rolle</KEYWORD>
<KEYWORD>Marken</KEYWORD>
<KEYWORD>Unsere</KEYWORD>
<KEYWORD>TOTALSTOP,</KEYWORD>
<KEYWORD>TOTALSTOP</KEYWORD>
</ARTICLE_DETAILS>
</ARTICLE>
</T_NEW_CATALOG>
</BMECAT>';
SELECT a.value('@mode','nvarchar(max)') AS ARTICLE_mode
,a.value('SUPPLIER_AID[1]','nvarchar(max)') AS SUPPLIER_AID
,ad.value('DESCRIPTION_SHORT[1]','nvarchar(max)') AS DESCRIPTION_SHORT
,ad.value('EAN[1]','nvarchar(max)') AS EAN
,kw.value('.','nvarchar(max)')
FROM @xml.nodes('/BMECAT/T_NEW_CATALOG/ARTICLE') AS A(a)
CROSS APPLY a.nodes('ARTICLE_DETAILS') AS B(ad)
CROSS APPLY ad.nodes('KEYWORD') AS C(kw)
结果
+--------------+--------------+--------------------------------+---------------+--------------------------------------+
| ARTICLE_mode | SUPPLIER_AID | DESCRIPTION_SHORT | EAN | (Kein Spaltenname) |
+--------------+--------------+--------------------------------+---------------+--------------------------------------+
| new | 9900026005 | Totalstop fetra f. LF850x500mm | 4017976822105 | TPE-Rolle |
+--------------+--------------+--------------------------------+---------------+--------------------------------------+
| new | 9900026005 | Totalstop fetra f. LF850x500mm | 4017976822105 | Betriebseinrichtung_2016/18_(Online) |
+--------------+--------------+--------------------------------+---------------+--------------------------------------+
| new | 9900026005 | Totalstop fetra f. LF850x500mm | 4017976822105 | Lieferanten |
+--------------+--------------+--------------------------------+---------------+--------------------------------------+
| new | 9900026005 | Totalstop fetra f. LF850x500mm | 4017976822105 | Große |
+--------------+--------------+--------------------------------+---------------+--------------------------------------+
| new | 9900026005 | Totalstop fetra f. LF850x500mm | 4017976822105 | TOTALSTOP |
+--------------+--------------+--------------------------------+---------------+--------------------------------------+
| new | 9900026005 | Totalstop fetra f. LF850x500mm | 4017976822105 | starken |
+--------------+--------------+--------------------------------+---------------+--------------------------------------+
| new | 9900026005 | Totalstop fetra f. LF850x500mm | 4017976822105 | Unsere |
+--------------+--------------+--------------------------------+---------------+--------------------------------------+
| new | 9900026005 | Totalstop fetra f. LF850x500mm | 4017976822105 | Transport |
+--------------+--------------+--------------------------------+---------------+--------------------------------------+
| new | 9900026005 | Totalstop fetra f. LF850x500mm | 4017976822105 | TOTALSTOP, |
+--------------+--------------+--------------------------------+---------------+--------------------------------------+
| new | 9900026005 | Totalstop fetra f. LF850x500mm | 4017976822105 | Zentralbremssystem |
+--------------+--------------+--------------------------------+---------------+--------------------------------------+
| new | 9900026005 | Totalstop fetra f. LF850x500mm | 4017976822105 | FK_UNION |
+--------------+--------------+--------------------------------+---------------+--------------------------------------+
| new | 9900026005 | Totalstop fetra f. LF850x500mm | 4017976822105 | Marken |
+--------------+--------------+--------------------------------+---------------+--------------------------------------+
更新如果你需要这个
这将为您带来 Great-List-of-Everything! :-)
从您的链接问题中获取更多信息...
WITH Numbered AS
(
SELECT Id
,LoadedDateTime
,ROW_NUMBER() OVER(ORDER BY (SELECT NULL)) AS MimeRowNr
,a.value('@mode','nvarchar(max)') ARTICLE_MODE
,a.value('SUPPLIER_AID[1]','nvarchar(max)') AS SUPPLIER_AID
,m.query('.') AS mime
,ad.query('.') AS ad
FROM XMLwithOpenXML AS t
CROSS APPLY t.XMLData.nodes('/BMECAT/T_NEW_CATALOG/ARTICLE') AS A(a)
OUTER APPLY a.nodes('MIME_INFO/MIME') AS B(m)
OUTER APPLY a.nodes('ARTICLE_DETAILS') AS C(ad)
)
SELECT Id
,MimeRowNr
,LoadedDateTime
,ARTICLE_MODE
,SUPPLIER_AID
,mime.value('(MIME/MIME_TYPE)[1]','nvarchar(max)') AS MIME_TYPE
,mime.value('(MIME/MIME_SOURCE)[1]','nvarchar(max)') AS MIME_SOURCE
,mime.value('(MIME/MIME_PURPOSE)[1]','nvarchar(max)') AS MIME_PURPOSE
,mime.value('(MIME/MIME_ORDER)[1]','int') AS MIME_ORDER
,ad.value('(ARTICLE_DETAILS/DESCRIPTION_SHORT)[1]','nvarchar(max)') AS DESCRIPTION_SHORT
,ad.value('(ARTICLE_DETAILS/EAN)[1]','nvarchar(max)') AS EAN
,kw.value('.','nvarchar(max)')
FROM Numbered
OUTER APPLY ad.nodes('ARTICLE_DETAILS/KEYWORD') AS D(kw)