2013-05-13 73 views
0

我的表是:许多与动态多关系查询的WHERE子句

Table Emp:- 
EmpId, EmpName 

Table EmpDeptTrans:- 
EmpDeptID, EmpID, DeptID 

table Dept:- 
DeptID, DeptName 

商业逻辑是,一个员工可以在多个部门,一个部门工作,可以有多个员工,所以基本上它的多对多关系。

我需要在形成SQL查询的帮助,我可以把我的条件,如:

(dept='Engineering' and dept='Account') And (dept ='Library' or dept ='HR')

我在那里的条件是动态的,可以改变基于需求...

+0

很抱歉,但还是不能让你在问。你能否澄清你的问题多一点? – ankurtr 2013-05-13 13:53:57

+0

我想获得所有员工的名单,这些员工的离职情况是基于上面xml中写的条件,因为员工可以属于多个部门,所以我想找出那些按照规则(以xml写成)的组合的员工。 。所以基本上我想写一个SQL查询,我可以为部门提供一些条件,并且可以给我那些属于这些部门的组合的员工。 – 2013-05-14 01:17:42

+0

在这种情况下,什么是xml模板。 – JSJ 2013-06-06 17:23:18

回答

0

,因为我可以理解这个问题。是你已经写了你的XML数据的条件。其中表达式可以像

(部门=“工程”和dept =“账户”)和(部门=“图书馆”或部门=“人力资源”)

等什么,所有你需要做的是。

创建一个显示所有员工和部门关系的计划查询。 现在可以根据需要添加复杂的过滤条件。像下面一样

declare @complex nvarchar(1000); 
set @complex = "(dept='Engineering' and dept='Account') And (dept ='Library' or dept 
='HR')" 

execsql query+' '+ @complex; 
+0

@J:我想帮助形成查询不是条件.. :),虽然我有4个不同的解决方案,但仍然寻找最佳表演 – 2013-06-07 03:48:24

+0

所以,你可以请分享一些条件更多。那么我认为我们可以一起做。 – JSJ 2013-06-07 05:32:37

0

对不起,需要更多输入才能获得最佳答案。

您可以使用多个部门如..

选择....凡在( '101', '102')emptrans.deptid