別のテーブルの値に基づいて、ストアド プロシージャの結果の値を置き換える方法がわかりません。次のようにフォーマットされたテーブル [LOG] があります。
TIME STAMP, TAG, DESCRIPTION, EVENTCODE, SUBEVENTCODE
30-Aug-2013 10:14:10, TAG X, HI TEMP FAULT, 3, 16
30-Aug-2013 10:12:10, TAG Y, HI PRESS FAULT, 3, 16
...
そして、基本的にEVENTCODEが何であるかを説明する別の表[EVENTS]:
EVENT, DESCRIPTION
1, FAULT
2, LOGIC
3, ALARM
ストアド プロシージャで 1 番目のテーブルの 2000 エントリ (行) を取得し、EVENTCODE を数値として表示する代わりに、2 番目のテーブルに含まれる説明を結果に表示したいと考えています。例えば:
TIME STAMP, TAG, DESCRIPTION, EVENTCODE, SUBEVENTCODE
30-Aug-2013 10:14:10, TAG X, HI TEMP FAULT, ALARM, 16
理由は、ストアド プロシージャの結果とやり取りする別のソフトウェアがあり、これらの結果をデータベース内に保持する別のテーブルを作成したくないからです。
これまでのストアド プロシージャは次のようになります。
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[Get2kEvents]
AS
BEGIN
SELECT TOP 2000 CAST(datepart(day,TIME_STAMP) as char(2)) + '-' +
CAST(datename(month,TIME_STAMP) as char(3)) + '-' +
CAST(datepart(year,TIME_STAMP) as char(4))+ ' ' + CONVERT(varchar,TIME_STAMP,108)
as 'TIME STAMP',
[TAG],
[DESCRIPTION],
[EVENTCODE],
[SUBEVENTCODE]
FROM [Arc_DB].[dbo].[LOG]
ORDER BY TIME_STAMP DESC
END
GO
よろしくお願いします。これが基本的すぎる場合は申し訳ありませんが、このWebサイトや他のWebサイトを閲覧している間、これに対する解決策を見つけることができませんでした.
乾杯。
TM