是否可以編寫一個獲取根實體和多個子項的FetchXML查詢?我所能做的只有1:1。您可以編寫單個FetchXML查詢以獲得1:多關係嗎?
回答
不,這是不可能的。
我已經低估了這一點,因爲它似乎沒有錯。我已經添加了我自己的答案。 – 2012-09-30 18:32:05
爲了說明問題,此答案適用於「我可以獲得單親父母記錄及其子女」這一問題。 Fetch明確提供了基本上可以進行連接的功能,您可以在每個子節點多次獲取父記錄的情況下,只需進行一些處理即可按照需要獲取數據。 – Matt 2017-08-31 22:34:52
除非我誤解了這個問題,這是非常可能的。
因此,例如,您想查找與給定帳戶相關的所有聯繫人。這由Crm通過與客戶聯繫的父級客戶查找來表示。
<fetch mapping="logical" count="100" version="1.0">
<entity name="account">
<attribute name="name" />
<link-entity name="contact" from="parentcustomerid" to="accountid">
<attribute name="fullname" />
</link-entity>
</entity>
</fetch>
它給你一個結果集,看起來像這樣:
<resultset morerecords="0" paging-cookie="<cookie page="1"><accountid last="{E704FAD6-2D4B-E111-9FED-00155D828444}" first="{AD912122-6B3C-E111-9B37-00155D828444}" /></cookie>">
<result>
<name>RGD Mining Inc</name>
<accountid>{E704FAD6-2D4B-E111-9FED-00155D828444}</accountid>
<accountid.fullname>Bill Miner</accountid.fullname>
</result>
<result>
<name>RGD Mining Inc</name>
<accountid>{E704FAD6-2D4B-E111-9FED-00155D828444}</accountid>
<accountid.fullname>Green</accountid.fullname>
</result>
</resultset>
James Wood is correct。取XML是遞歸的,所以通過使用鏈接實體你可以得到你想要的信息。
例如,以下是有效的:
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true">
<entity name="account">
<attribute name="name" />
<attribute name="primarycontactid" />
<attribute name="telephone1" />
<attribute name="accountid" />
<order attribute="name" descending="false" />
<link-entity name="contact" from="parentcustomerid" to="accountid" alias="aj">
<attribute name="firstname" />
<attribute name="lastname" />
<attribute name="telephone1" />
<link-entity name="businessunit" from="businessunitid" to="owningbusinessunit" alias="ak">
<attribute name="name" />
<attribute name="address1_line1" />
<attribute name="address1_line2" />
<attribute name="address1_line3" />
<filter type="and">
<condition attribute="name" operator="not-null" />
</filter>
</link-entity>
</link-entity>
</entity>
</fetch>
如果您的問題真的是「是否有可能寫一個FetchXML查詢得到一個單根實體和多個孩子」,那麼答案是很不幸的是,不行。但是,如果您能夠處理重複的根數據(例如使用SSRS報告的分組功能),那麼您需要的是完全可能的
我很高興地報告說它是可能的。我有一個適合我的解決方案。
唯一需要注意的是,如果您有多個子帳戶,您將獲得父母的多個結果。例如:
parent 1: child 1
parent 2: child 1
parent 2: child 2
這意味着,你將不得不通過一個排序函數運行的結果,拿到要麼所有的孩子在父母一多維陣列,或得到所有帳戶的獨特條目平面陣列。
此外,這隻能下降一個級別。如果您的層次結構是多層次的,則需要修改此代碼。
<fetch distinct="false" mapping="logical">
<entity name="account">
<attribute name="name" />
<link-entity name="account" alias="childaccount" to="accountid" from="parentaccountid" link-type="outer">
<attribute name="name" alias="childname" />
</link-entity>
</entity>
</fetch>
- 1. 一個SQL查詢可以從多對多關係中獲得一行嗎?
- 2. 您可以在Mysql中編寫Select Inside Select查詢多少次?
- 3. 如何編寫一個sql查詢以獲得以下結果?
- 4. 如何編寫查詢以獲取關係中的sqlalchemy對象?
- 5. 是否可以爲以下情況編寫單個查詢?
- 6. 在SQL中,如何編寫查詢以從1到多關係返回1個記錄?
- 7. 查詢sql以獲得多對多關係中的第一個匹配項
- 8. 單個LINQ查詢可以實現嗎?
- 9. Parse.com - 編寫關係查詢?
- 10. 獲得多個COUNT在1個查詢
- 11. MySQL可以爲單個查詢使用多個索引嗎?
- 12. FQL查詢,可以獲得您所在地區的所有事件嗎?
- 13. 是否可以使用多個動態支點編寫查詢?
- 14. 如何編寫一個sql查詢以獲得來自1個表的以下結果?
- 15. 在單個查詢中是否可以將多對多關係與一對多關係結合使用?
- 16. HSQL - 如何編寫查詢以獲取1:n reslationship ID
- 17. 如何編寫這個linq查詢以避免查詢太多?
- 18. 鏈接關係查詢 - 我可以創建一個JavaScript關係以及CSS?
- 19. 如何爲以下查詢編寫關係代數表達式?
- 20. 您可以從單個Nodejs模塊導出多個類嗎?
- 21. 結合多個查詢以獲得單筆總計回答
- 22. 可以通過參數獲得關係嗎?
- 23. 我可以在單個查詢中獲取祖先元素嗎?
- 24. 您可以根據多個集合中的數據編寫更新命令嗎?
- 25. 1 TaskTracker可以運行多個JVM嗎?
- 26. 使用foreach可以簡單得多嗎?
- 27. 我可以在單個查詢中獲取與聚合有關的數據嗎?
- 28. 如何組合2個sql查詢以獲得1個結果
- 29. 可以將2個Linq查詢傳遞給1個視圖嗎?
- 30. 我可以在單個LINQ查詢中完成此查詢嗎?
您是否試過使用Stunnware的免費工具?如果可以使用FetchXML完成,那麼Stunnware工具可以讓你這麼做,當然。 – 2010-05-20 14:54:34
它不再可用。他搬家了,新網站給了你404個。希望它能被修復,但是誰知道...... – 2012-09-28 07:37:16
你仍然可以通過舊鏈接獲得它:http://www.stunnware.com/products/tools4/download。 htm – 2012-09-30 18:06:47