我有一个如下构建的数据库: 非活动表 - 包括所有已删除\非活动用户 活动表 - 包括所有当前活动用户 主表 - 包括所有用户(活动和非活动)
所有三个表中都存在一些字段(例如用户名),我想从非活动或活动表中获取数据(因为所有表中的数据并不总是相等),所以我想要一个连接将来自活动表或非活动表(根据主表中的 ActiveState 字段)
我的查询非常复杂,但为了简化它,我有一个小例子来解释我的问题:
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 的两个表,原因是我将此表用于选择本身和一些更多的内部连接
有什么办法吗?
谢谢