2013-05-13 38 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