1

最終的にビューに入れたいクエリがあります。

最初に、全体に 2 つの列がある限り、フラグ列に別の名前を付けることができますか?

また、同じテーブルで別の WHERE 句を使用してユニオンを実行できますか?

最後に、これら 3 つの選択を 1 つのビューに表示するための正しいアプローチは何ですか?

    SELECT ID, 'Y' AS PW_CHANGE31, NULL AS LAST_LOGON90, NULL AS LAST_LOGON365 FROM user_info WITH (nolock) WHERE ([Last Password Change] < GETDATE() - 31)
UNION ALL
SELECT ID, NULL AS PW_CHANGE31, 'Y' AS LAST_LOGON90, NULL AS LAST_LOGON365 FROM user_info WITH (nolock) WHERE ([Last Logon] < GETDATE() - 90) AND ([Account Disabled] = 0)
UNION ALL
SELECT ID, NULL AS PW_CHANGE31, NULL AS LAST_LOGON90, 'Y' AS LAST_LOGON365 FROM user_info WITH (nolock) WHERE ([Last Logon] < GETDATE() - 365)

**更新:

SELECT ID, '31' AS StatusVal FROM user_info WITH (nolock) WHERE ([Last Password Change] < GETDATE() - 31)
UNION 
SELECT ID, '90' AS StatusVal FROM user_info WITH (nolock) WHERE ([Last Logon] < GETDATE() - 90) AND ([Account Disabled] = 0)
UNION 
SELECT ID, '365' AS StatusVal FROM user_info WITH (nolock) WHERE ([Last Logon] < GETDATE() - 365)
4

2 に答える 2