我无法弄清楚如何根据另一个表中的值替换存储过程结果中的值。我有一个格式如下的表 [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
...
另一个表 [EVENTS] 基本上描述了 EVENTCODE 是什么:
EVENT, DESCRIPTION
1, FAULT
2, LOGIC
3, ALARM
我想让存储过程检索第一个表的 2000 个条目(行),而不是将 EVENTCODE 显示为数字,而是在结果中显示第二个表中包含的描述。例如:
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
感谢您的帮助。抱歉,如果这太基本了,但是在浏览此网站和其他网站时,我无法找到解决方案。
干杯。
TM值