sql - 如何将 FetchXML 中的 operator = "eq-userid"语句转换为 SQL 代码

标签 sql sql-server dynamics-crm crm fetchxml

我正在尝试将公司 FetchXML 文件转换为 SQL 代码。当我在 FectchXML 中遇到以下语句时:

<condition attribute = "vcr_ambassador", operator="eq-userid">

其实我知道这意味着获取当前用户。另外,我已经在线阅读了一些教程和一些有关它的堆栈溢出答案。但我还是很困惑。我不确定在不翻译这个运算符的情况下是否仍然可以运行我的 SQL 代码。我想要的只是将 SQL 的结果与 FechXML 的结果进行比较。我真的不关心当前用户。

此外,这个“eq-userid”运算符与 SQL 中的 WHERE 子句有何关系?如果我不翻译这个运算符,会影响SQL结果吗?

最佳答案

几点:

  1. Use filteredview当您转换为 SQL 查询时,CRM 安全概念仍将应用于您的结果集

  2. 如果您打算删除此过滤条件,您的结果将明显不同,因为这是针对自定义字段 - vcr_ambassador

您必须像下面这样转换条件:

WHERE vcr_ambassador = '<GUID>'

您可以检索GUID如下所示:

select s.SystemUserId from SystemUserBase s where s.DomainName = SUSER_SNAME()  --this gives GUID

select SUSER_SNAME() --this gives domain name

引用号:https://mahadeomatre.blogspot.com/2015/04/fetch-xml-condition-to-sql-where.html

关于sql - 如何将 FetchXML 中的 operator = "eq-userid"语句转换为 SQL 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43335188/

相关文章:

c# - 更新自定义工作流程事件中创建的记录 -CRM -C#

sql - 如何仅用一列选择多列分组依据

sql - 如何比较表的多列和多行

java - SQL查询返回 "oracle.jdbc.driver.OracleResultSetImpl@48f675"而不是我预期的数据

sql-server - TSQL 函数计算指定日期的 30 个工作日日期 (SQL Server 2005)

sql - 如何在不安装 SQL Server 2005 的情况下测试语法

dynamics-crm - Microsoft Dynamic CRM 插件调试

MySQL 错误的排序顺序 - 忽略第一列

sql - 如果发生 NULL,Where 子句拒绝行

c# - 在 QueryExpression 中包含 OptionSetValue