0
我在.net中有以下代碼。在sql 2008中嵌套動態情況下的語句
foreach (string key in EntityNumbers.Keys)
{
if (EntityNumbers[key] != null)
{
e = new WebServices.Entity();
e.HierarchyLevel = key;
e.Number = EntityNumbers[key];
entities.Add(e);
}
}
這必須按以下格式轉換爲SQL。
declare @HierarchyLevelValue int, @HierarchyLevel nvarchar;
SELECT * from table where
CASE
WHEN @HierarchyLevel='COMPANY' THEN COMPANYNUMBER
WHEN @HierarchyLevel='BRANCH' THEN BRANCHNUMBER
WHEN @HierarchyLevel='BUSINESS' THEN BUSINESSNUMBER
END [email protected]
上面的代碼將單一實體工作,但如何實現多像
SELECT * from table where COMPANYNUMBER=100 AND BRANCHNUMBER= 1
AND BUSINESSNUMBER= 1
我能形成最終的查詢語句的字符串,並通過執行的ExecuteSQL。 有什麼方法可以避免形成字符串?
在此先感謝。
我不確定我是否完全遵循。你能否包括一些樣本數據和你期望的結果? – 2010-10-25 13:55:08