【发布时间】:2014-10-24 07:16:09
【问题描述】:
我有一个复杂的 SQL 查询。我必须从 C# 中检索它。检索复杂 SQL 查询的最佳方法是什么? (如 QueryByAttribute、FetchXML、QueryExpression 等) 这是我的代码:
SELECT R.Name
FROM role R
WHERE R.roleid IN
(SELECT roleid
FROM systemuserroles SR
WHERE SR.systemuserid IN
(SELECT S.systemuserid
FROM systemuser S
WHERE S.new_departmentid3 =
(SELECT new_departmentid3
FROM systemuser S
WHERE S.systemuserid = '8B8825F9-6B27-E411-8BA9-000C29E0C100')))
感谢您的回复。
【问题讨论】:
-
我可能遗漏了一些基本的东西,但看起来您的查询过于复杂。这不会返回相同的东西吗:
SELECT R.Name FROM role R INNER JOIN systemuserroles SR ON R.roleid = SR.roleid WHERE SR.systemuserid = '8B8825F9-6B27-E411-8BA9-000C29E0C100' -
不。它只返回 1 行。原始的返回 6 行。
-
该查询返回与该 systemuser Guid 具有相同 departmentid3 的 systemusers 的所有角色。
标签: c# sql c#-4.0 dynamics-crm-2011 crm