私はこのようなことをしようとしています:
SELECT UserID from Users as user
INNER JOIN UserStatus as userStatus on u.UserID = us.UserID
WHERE
--user.IsActive = 1
--if user.IsActive = 0
--userStatus.DeactivatedDate > @StartDate
--userStatus.DeactivatedDate < @EndDate
したがって、一般に、値が where ステートメントと一致するすべての結果を取得するクエリが必要ですが、一致しない結果をすべて無視する必要はありません。円の左側と中央が塗りつぶされたベン図のようなものです。私が示した例では、現在アクティブなすべてのユーザーと、アクティブではないが特定の時間内にアクティブだったユーザーが必要です。フレーム (たとえば、1 か月内の任意の時点でアクティブなユーザーの総数が必要な場合)。
私は次のようなことを試しました
SELECT UserID from Users as user
INNER JOIN UserStatus as userStatus on u.UserID = us.UserID
WHERE
Case user.IsActive = 1
しかし、それは明らかに間違った構文です。これも LINQ に変換する必要があるため、そのリソースも役立ちます。