私は2つのテーブルを持っています。OldLoginTableA
列とNewLogin列があります。ID、IsManager、およびCanChangeがあります。TableB
入力パラメータを使用してストアドプロシージャを作成していますlogin
。TableB
最終的にはwhereのすべての列を返す必要がありますlogin = ID
が、最初にNewLoginTableA
を使用する必要があるかどうかを確認する必要があります。
それで、誰かが「TableB
ID =(login OR NewLogin)のすべての列を表示する」というクエリを書くのを手伝ってもらえますか?
ありがとう!
編集:追加されたコード:
DECLARE @login varchar(30) = 'test'
SELECT ISNULL(NewLogin, @login) AS NewLogin, TableB .IsManager, TableB.CanChange
FROM TableA
LEFT JOIN TableB ON TableB.ID = ISNULL(NewLogin, @login)
WHERE OldLogin = @login
上記のコードは、@loginがTableAに存在する場合にのみ機能します。そのテーブルに存在しない場合、結果は得られません。