[SQL ] 請教xml欄位節點篩選的問題
MS SQL - 2012
各位好
現在有一張蠻單純的資料表
Table1
{
Pkey nvachar(max)
XmlData xml
}
假設資料內容
Pkey XmlData
---------------------------------------
One <root attr1="One" attr2="XXX">
<AAA> aaaOne </AAA>
<BBB> bbbOne </BBB>
<CCC> ccc1One </CCC>
<CCC att="2"> ccc2One </CCC>
<DDD> dddOne </DDD>
<root>
Two <root attr1="Two" attr2="XXX">
<AAA> aaaTwo </AAA>
<BBB> bbbTwo </BBB>
<CCC> ccc1Two </CCC>
<CCC att="2"> ccc2Two </CCC>
<DDD> dddTwo </DDD>
<root>
...後面還有很多筆
現在我想撈BBB CCC,加上查詢條件(EX:Pkey='One' OR Pkey='Two')
SELECT Pkey, XmlData.query('/root/BBB , /root/CCC ') AS XmlData FROM Table1
WHERE Pkey='One' OR Pkey='Two'
會得到
Pkey XmlData
---------------------------------------
One <BBB> bbbOne </BBB>
<CCC> ccc1One </CCC>
<CCC att="2"> ccc2One </CCC>
Two <BBB> bbbTwo </BBB>
<CCC> ccc1Two </CCC>
<CCC att="2"> ccc2Two </CCC>
但我希望是能得到
Pkey XmlData
---------------------------------------
One <root attr1="One" attr2="XXX">
<BBB> bbbOne </BBB>
<CCC> ccc1One </CCC>
<CCC att="2"> ccc2One </CCC>
<root>
Two <root attr1="Two" attr2="XXX">
<BBB> bbbTwo </BBB>
<CCC> ccc1Two </CCC>
<CCC att="2"> ccc2Two </CCC>
<root>
也就是包完整的XML路徑
請問該如何查詢?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.136.186.219
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1537193963.A.22E.html
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
Database 近期熱門文章
PTT數位生活區 即時熱門文章