我的表是:
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 :(得分:0)
因为我能理解这个问题。是你已经在xml数据中写了条件。表达式可能类似于
(dept ='Engineering'和dept ='Account')和(dept ='Library'或dept ='HR')
所以你需要做的就是。
创建一个计划查询,显示所有员工和部门的关系。 现在根据需要添加复杂的过滤条件。如下所示
declare @complex nvarchar(1000);
set @complex = "(dept='Engineering' and dept='Account' ) And (dept ='Library' or dept
='HR')"
execsql query+' '+ @complex;
答案 1 :(得分:0)
您可以将IN用于多个部门,例如..
select .... where emptrans.deptid in('101','102')