私は次のように構築されたDBを持っています:非アクティブテーブル-すべての削除された\非アクティブユーザーを含むアクティブテーブル-すべての現在アクティブなユーザーを含むメインテーブル-すべてのユーザー(アクティブと非アクティブの両方)を含む
3つのテーブルすべて(userNameなど)にいくつかのフィールドが存在し、非アクティブまたはアクティブなテーブルからデータを取得したいので(データはすべてのテーブルで常に等しいとは限らないため)、結合したいActiveテーブルまたはInactiveテーブルのいずれかから取得されます(メインテーブルの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を使用した両方のテーブルの理由は、このテーブルを選択自体と、さらにいくつかの内部結合に使用するためです。
そうする方法はありますか?
ありがとう