私は、複数のビューを作成している非常に大きなスクリプトを持っています。多くのビューでは、同じスクリプトが使用されています。このスクリプトは以下の通りです。SQLのcase文をストアドプロシージャに変換しますか?
CASE WHEN pc.[user_name] IN
(
SELECT [user_name]
FROM people AS p WITH(NOLOCK)
WHERE p.status_id = 1 p.last_login > DATEADD(MONTH, -12, GETDATE())
AND p.[user_name] NOT IN
(
SELECT p.[user_name]
FROM people AS p WITH(NOLOCK)
WHERE p.status_id IN (1,2) AND p.[user_name] LIKE '%2'
)
) THEN pc.[user_name]
ELSE 'standarduser' END AS created_by
誰かが私がpc.[user_name]
に渡すことができ、それが正しい値を返す関数を作成する方法の正しい方向に私を指すもらえますか?私はSQLで新しい関数です。ありがとうございました。
どのDBを使用していますか? –
うわー...結果セットでこの関数を使用すると、あなたのクエリはslooooowになります... –
user_nameの代わりにチェックできる主キーがありませんか? – Arion