我有一個DB構建如下: 無效表 - 包括所有被刪除\非活動用戶 活動表 - 包括所有當前活動的用戶 主表 - 包括所有用戶(活動和非活動)條件內連接
所有三個表中都存在一些字段(例如userName),我想從Inactive或Active表中取數據(因爲所有表中的數據並不總是相等的),所以我想要有一個聯接它將來自Active表或Inactive表(根據主表中的ActiveState字段)
我的查詢很複雜,b UT簡化它,我有一個小例子說明我的問題:
SELECT M.ID,
A.userName
FROM MainTbl M
IF M.ActiveState = 'Active'
THEN
INNER JOIN ActiveTbl A ON A.UserID = M.ID
ELSE
INNER JOIN InactiveTbl A ON A.UserID = M.ID
END
INNER JOIN SomeTbl S ON S.Field = A.Field
注:因爲我使用的兩個表,原因是使用該表的選擇本身和一些更多的內部聯接
有沒有辦法做到這一點?
感謝
因爲用戶不能有效和無效的同時,爲什麼不加入我們主包含兩個表的表格,並將其合併。 –
你不可以將同一個別名('A')同時指定爲'ActiveTbl'和'InactiveTbl'。 – David