エラーコードに基づいて特定の列を選択する動的クエリを作成しようとしています。
たとえば、複数の列を含むエラーテーブル(ErrorTable)があります。
Transaction Number
Transaction Amount
Transaction Date
Error Code
Error Description
+100 other columns
エラーテーブル
Error Code
Error Description
Error Column
次のクエリを取得しようとしています。
ErrorCode
ErrorDescription
ErrorColumn (Column Based On Error Code)
次のような動的SQLを使用してみましたが、列の名前だけが返されました。何か問題がありますか?
DECLARE @SQL VarChar(1000)
SELECT @SQL = 'SELECT et.ErrorCode, et.ErrorDescription, e.ErrorColumn
FROM ErrorTable et
INNER JOIN Errors e ON e.ErrorCodeID = et.ErrorCode'
Exec ( @SQL)
動的クエリでe.ErrorColumnの代わりに@ErrorColumn='TransactionDate'を使用すると、結果が得られますが、上記のクエリでは得られません。何か案は?
アップデート2
上記のクエリで次の結果が得られます。
ErrorCode ErrorDesc TransactionDate TransactionAmount
1 Invalid Trans Date TransactionDate TransactionAmount
2 Invalid Trans Amount TransactionDate TransactionAmount
私は以下が欲しい:
ErrorCode ErrorDesc TransactionDate TransactionAmount
1 Invalid Trans Date May 1st
2 Invalid Trans Amount 65 Cats