0

null許容のdatetime2列があります。この列には、最新のログイン日が含まれています。列がnullの場合、ユーザーはログインしていません。

ユーザーがログインしたかどうかをフィルタリングするSSRSレポートがあります。列がnullの場合、ユーザーはログインしていません。ストアドプロシージャに渡す複数の値(すべて、ログイン、ログインしていない)を受け取るパラメーターがあります。現在、値をLogged in = 1に設定し、logined=2に設定していません。

私のstoredprocは、値を@HasLoggedIn varchar(50)として受け取ります。

SQLでいずれか(すべて、ログイン、ログインしていない)を選択するにはどうすればよいですか?

これをssrsで設定するためのより良い方法はありますか?

4

1 に答える 1

2

パラメータを渡すのに少し迷っていますが、基本的にはこれを探していると思います。

DECLARE
  @loginOption int = 0

SELECT 
  [UserID],
  [Timestamp]
FROM [Logins]
WHERE 
  (CASE
     WHEN @loginOption = 0 THEN 1 -- ALL
     WHEN @loginOption = 1 AND [Timestamp] IS NOT NULL THEN 1 -- Logged in
     WHEN @loginOption = 2 AND [Timestamp] IS NULL THEN 1 -- Not logged in
     ELSE 0
   END) = 1

そして、ここにそのフィドルがあります。

于 2013-01-25T06:56:46.030 に答える