2017-09-25 40 views
0

我想通過以下屬性查詢天青DocumentDB具有相同名稱

"Loop": [ 
    { 
     "@LoopId": "0204", 
     "@Name": "Order Information Detail", 
     "OID": { 
     "OID01": null, 
     "OID02": "1NN***" 
     } 
    }, 
    { 
     "@LoopId": "0210", 
     "@Name": "Quantity Information", 
     "QTY": { 
     "#comment": [], 
     "QTY01": { 
      "#text": "H9" 
     }, 
     "QTY02": "10", 
     "QTY03": null, 
     "QTY04": "Pallets" 
     }] 

使用Query

SELECT * FROM C到查詢DocumentDB兩個屬性WHERE c.Loop [0] .OID.OID02 = 「1NN ***」;

但是在同一個文檔中有另一個屬性循環:

"Loop": [ 
{ 
    "@LoopId": "0100", 
    "@Name": "Party Identification", 
    "N1": { 
    "#comment": [], 
    "N101": { 
     "#text": "CA" 
    }, 
    "N102": "BN*********", 
    "N103": { 
     "#text": "2" 
    }, 
    "N104": "B***" 
    } 
}, 
{ 
    "@LoopId": "0100", 
    "@Name": "Party Identification", 
    "N1": { 
    "#comment": [], 
    "N101": { 
     "#text": "SF" 
    }, 
    "N102": "*****" 
    }] 

反正是有解決這個,因爲我需要通過OID 由於事先得到信息

回答

0

你能嘗試做這個查詢,因爲我認爲Loop數組中的每個「行」都是不同的Loop對象:

SELECT * FROM Loop c WHERE c.OID.OID02 = "1NN***"; 
+0

很好的想法但不幸它沒有工作我甚至試過SELECT * FROM Loop c WHERE c.LoopId =「0204」AND c.OID.OID02 =「1NN ***」; –

+1

我在文檔中發現了另一個不同的聲明,我可以通過查詢文檔。不過,我會保持這個問題找到答案,也許它會幫助別人。謝謝您的意見 –